diff --git a/doc/stdenv/multiple-output.xml b/doc/stdenv/multiple-output.xml index 83275bb2fbd..51e1cc2e024 100644 --- a/doc/stdenv/multiple-output.xml +++ b/doc/stdenv/multiple-output.xml @@ -106,7 +106,7 @@ - The reason for why glibc deviates from the convention is because referencing a library provided by glibc is a very common operation among Nix packages. For instance, third-party executables packaged by Nix are typically patched and relinked with the relevant version of glibc libraries from Nix packages (please see the documentation on patchelf for more details). + The reason for why glibc deviates from the convention is because referencing a library provided by glibc is a very common operation among Nix packages. For instance, third-party executables packaged by Nix are typically patched and relinked with the relevant version of glibc libraries from Nix packages (please see the documentation on patchelf for more details). diff --git a/lib/default.nix b/lib/default.nix index a909cefd60f..d00c4abec0a 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -141,7 +141,7 @@ let mergeAttrsWithFunc mergeAttrsConcatenateValues mergeAttrsNoOverride mergeAttrByFunc mergeAttrsByFuncDefaults mergeAttrsByFuncDefaultsClean mergeAttrBy - fakeSha256 fakeSha512 + fakeSri fakeSha256 fakeSha512 nixType imap; inherit (versions) splitVersion; diff --git a/lib/deprecated.nix b/lib/deprecated.nix index 155d6f0c361..8c4fe9c390c 100644 --- a/lib/deprecated.nix +++ b/lib/deprecated.nix @@ -272,6 +272,7 @@ rec { imap = imap1; # Fake hashes. Can be used as hash placeholders, when computing hash ahead isn't trivial + fakeSri = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; fakeSha256 = "0000000000000000000000000000000000000000000000000000000000000000"; fakeSha512 = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; } diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 0ad908182ad..1a4079300c8 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3239,6 +3239,12 @@ githubId = 4458; name = "Ivan Kozik"; }; + ivan-timokhin = { + email = "nixpkgs@ivan.timokhin.name"; + name = "Ivan Timokhin"; + github = "ivan-timokhin"; + githubId = 9802104; + }; ivan-tkatchev = { email = "tkatchev@gmail.com"; name = "Ivan Tkatchev"; @@ -5600,6 +5606,12 @@ githubId = 101514; name = "Orivej Desh"; }; + oro = { + email = "marco@orovecchia.at"; + github = "oro"; + githubId = 357005; + name = "Marco Orovecchia"; + }; osener = { email = "ozan@ozansener.com"; github = "osener"; @@ -6527,6 +6539,12 @@ githubId = 766350; name = "Richard Zetterberg"; }; + s1341 = { + email = "s1341@shmarya.net"; + name = "Shmarya Rubenstein"; + github = "s1341"; + githubId = 5682183; + }; samdoshi = { email = "sam@metal-fish.co.uk"; github = "samdoshi"; @@ -8203,6 +8221,11 @@ fingerprint = "85F8 E850 F8F2 F823 F934 535B EC50 6589 9AEA AF4C"; }]; }; + yvesf = { + email = "yvesf+nix@xapek.org"; + github = "yvesf"; + name = "Yves Fischer"; + }; yvt = { email = "i@yvt.jp"; github = "yvt"; @@ -8403,4 +8426,10 @@ github = "ymeister"; githubId = 47071325; }; + cpcloud = { + name = "Phillip Cloud"; + email = "417981+cpcloud@users.noreply.github.com"; + github = "cpcloud"; + githubId = 417981; + }; } diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index 1d8b291978b..7efff7f45ec 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -30,4 +30,13 @@ with lib.maintainers; { ]; scope = "Maintain GNOME desktop environment and platform."; }; + + podman = { + members = [ + saschagrunert + vdemeester + zowoq + ]; + scope = "Maintain podman related packages."; + }; } diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml index 1c0aaca8ae2..f09fb3255d8 100644 --- a/nixos/doc/manual/release-notes/rl-2003.xml +++ b/nixos/doc/manual/release-notes/rl-2003.xml @@ -75,6 +75,24 @@ services.xserver.displayManager.defaultSession = "xfce+icewm"; + + + The testing driver implementation in NixOS is now in Python make-test-python.nix. + This was done by Jacek Galowicz (@tfc), and with the + collaboration of Julian Stecklina (@blitz) and + Jana Traue (@jtraue). All documentation has been updated to use this + testing driver, and a vast majority of the 286 tests in NixOS were ported to python driver. In 20.09 the Perl driver implementation, + make-test.nix, is slated for removal. This should give users of the NixOS integration framework + a transitory period to rewrite their tests to use the Python implementation. Users of the Perl driver will see + this warning everytime they use it: + +$ warning: Perl VM tests are deprecated and will be removed for 20.09. +Please update your tests to use the python test driver. +See https://github.com/NixOS/nixpkgs/pull/71684 for details. + + API compatibility is planned to be kept for at least the next release with the perl driver. + + @@ -127,6 +145,17 @@ services.xserver.displayManager.defaultSession = "xfce+icewm"; + + + The dhcpcd package + does not request IPv4 addresses for tap and bridge interfaces anymore by default. + In order to still get an address on a bridge interface, one has to disable + networking.useDHCP and explicitly enable + networking.interfaces.<name>.useDHCP on + every interface, that should get an address via DHCP. This way, dhcpcd + is configured in an explicit way about which interface to run on. + + GnuPG is now built without support for a graphical passphrase entry @@ -730,10 +759,10 @@ auth required pam_succeed_if.so uid >= 1000 quiet - Deploy a newer version of Hydra to activate the DB optimizations. You can choose from - either hydra-unstable (latest master compiled - against nixUnstable) and hydra-flakes (latest - version with flake-support). + Deploy a newer version of Hydra to activate the DB optimizations. This can be done by + using hydra-unstable. This package already includes + flake-support and is + therefore compiled against pkgs.nixFlakes. If your stateVersion is set to diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml index 280389fe69c..cf7946ffb80 100644 --- a/nixos/doc/manual/release-notes/rl-2009.xml +++ b/nixos/doc/manual/release-notes/rl-2009.xml @@ -195,6 +195,14 @@ environment.systemPackages = [ + + + Gollum received a major update to version 5.x and you may have to change + some links in your wiki when migrating from gollum 4.x. More information + can be found + here. + + @@ -207,7 +215,13 @@ environment.systemPackages = [ - + + The notmuch package move its emacs-related binaries and + emacs lisp files to a separate output. They're not part + of the default out output anymore - if you relied on the + notmuch-emacs-mua binary or the emacs lisp files, access them via + the notmuch.emacs output. + diff --git a/nixos/lib/make-iso9660-image.sh b/nixos/lib/make-iso9660-image.sh index b7b1ab52a63..d4633d2c8d1 100644 --- a/nixos/lib/make-iso9660-image.sh +++ b/nixos/lib/make-iso9660-image.sh @@ -107,6 +107,7 @@ xorriso="xorriso -publisher nixos -graft-points -full-iso9660-filenames + -joliet ${isoBootFlags} ${usbBootFlags} ${efiBootFlags} diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index 744fadb1a4f..07f27515990 100644 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -387,7 +387,7 @@ class Machine: if state != require_state: raise Exception( "Expected unit ‘{}’ to to be in state ".format(unit) - + "'active' but it is in state ‘{}’".format(state) + + "'{}' but it is in state ‘{}’".format(require_state, state) ) def execute(self, command: str) -> Tuple[int, str]: diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix index 24070a78694..9303e8fde13 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix @@ -18,8 +18,6 @@ with lib; # ISO naming. isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixos.label}-${pkgs.stdenv.hostPlatform.system}.iso"; - isoImage.volumeID = substring 0 11 "NIXOS_ISO"; - # EFI booting isoImage.makeEfiBootable = true; diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix index 62cbdbcfd17..84394a1ecae 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix @@ -7,6 +7,8 @@ with lib; { imports = [ ./installation-cd-graphical-base.nix ]; + isoImage.edition = "gnome"; + services.xserver.desktopManager.gnome3.enable = true; # Wayland can be problematic for some hardware like Nvidia graphics cards. diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix index e00d3f7535b..e76e06654ac 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix @@ -8,6 +8,8 @@ with lib; { imports = [ ./installation-cd-graphical-base.nix ]; + isoImage.edition = "plasma5"; + services.xserver = { desktopManager.plasma5 = { enable = true; diff --git a/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix b/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix index bcdbffdc20b..97506045e0e 100644 --- a/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix +++ b/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix @@ -8,5 +8,7 @@ [ ./installation-cd-base.nix ]; + isoImage.edition = "minimal"; + fonts.fontconfig.enable = false; } diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 4558b4dc955..5243a8aa747 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -417,8 +417,17 @@ in ''; }; + isoImage.edition = mkOption { + default = ""; + description = '' + Specifies which edition string to use in the volume ID of the generated + ISO image. + ''; + }; + isoImage.volumeID = mkOption { - default = "NIXOS_BOOT_CD"; + # nixos-$EDITION-$RELEASE-$ARCH + default = "nixos${optionalString (config.isoImage.edition != "") "-${config.isoImage.edition}"}-${config.system.nixos.release}-${pkgs.stdenv.hostPlatform.uname.processor}"; description = '' Specifies the label or volume ID of the generated ISO image. Note that the label is used by stage 1 of the boot process to @@ -515,6 +524,19 @@ in }; config = { + assertions = [ + { + assertion = !(stringLength config.isoImage.volumeID > 32); + # https://wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor + # Volume Identifier can only be 32 bytes + message = let + length = stringLength config.isoImage.volumeID; + howmany = toString length; + toomany = toString (length - 32); + in + "isoImage.volumeID ${config.isoImage.volumeID} is ${howmany} characters. That is ${toomany} characters longer than the limit of 32."; + } + ]; boot.loader.grub.version = 2; diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl index 629c56814a1..a32c19a4eba 100644 --- a/nixos/modules/installer/tools/nixos-generate-config.pl +++ b/nixos/modules/installer/tools/nixos-generate-config.pl @@ -91,9 +91,6 @@ sub hasCPUFeature { } -# Detect the number of CPU cores. -my $cpus = scalar (grep {/^processor\s*:/} (split '\n', $cpuinfo)); - # Determine CPU governor to use if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") { @@ -562,7 +559,6 @@ my $hwConfig = <