Merge pull request #39416 from Ma27/fix-.version-config

.version: don't read from `.version` and deduplicate `.version-suffix` references

Changed files
+20 -18
doc
lib
nixos
doc
manual
release-notes
maintainers
scripts
modules
pkgs
tools
system
osquery
-4
.editorconfig
···
# Match diffs, avoid to trim trailing whitespace
[*.{diff,patch}]
trim_trailing_whitespace = false
-
-
# https://github.com/NixOS/nixpkgs/pull/39336#discussion_r183387754
-
[.version]
-
insert_final_newline = false
+1 -1
.version
···
-
18.09
+
18.09
+1 -1
doc/Makefile
···
.version:
nix-instantiate --eval \
-
-E '(import ../lib).nixpkgsVersion' > .version
+
-E '(import ../lib).version' > .version
%.section.xml: %.section.md
pandoc $^ -w docbook+smart \
+1 -1
doc/default.nix
···
];
postPatch = ''
-
echo ${lib.nixpkgsVersion} > .version
+
echo ${lib.version} > .version
'';
installPhase = ''
+1 -1
lib/default.nix
···
replaceStrings seq stringLength sub substring tail;
inherit (trivial) id const concat or and boolToString mergeAttrs
flip mapNullable inNixShell min max importJSON warn info
-
nixpkgsVersion mod compare splitByAndCompare
+
nixpkgsVersion version mod compare splitByAndCompare
functionArgs setFunctionArgs isFunction;
inherit (fixedPoints) fix fix' extends composeExtensions
+7 -4
lib/trivial.nix
···
inherit (lib.strings) fileContents;
+
release = fileContents ../.version;
+
versionSuffix = let suffixFile = ../.version-suffix; in
+
if pathExists suffixFile then fileContents suffixFile else "pre-git";
+
# Return the Nixpkgs version number.
-
nixpkgsVersion =
-
let suffixFile = ../.version-suffix; in
-
fileContents ../.version
-
+ (if pathExists suffixFile then fileContents suffixFile else "pre-git");
+
version = release + versionSuffix;
+
+
nixpkgsVersion = builtins.trace "`lib.nixpkgsVersion` is deprecated, use `lib.version` instead!" version;
# Whether we're being called by nix-shell.
inNixShell = builtins.getEnv "IN_NIX_SHELL" != "";
+5
nixos/doc/manual/release-notes/rl-1809.xml
···
<literal>lib.traceCallXml</literal> has been deprecated. Please complain
if you use the function regularly.
</para>
+
<para>
+
The attribute <literal>lib.nixpkgsVersion</literal> has been deprecated in favor of
+
<literal>lib.version</literal>. Please refer to the discussion in
+
<link xlink:href="https://github.com/NixOS/nixpkgs/pull/39416#discussion_r183845745">NixOS/nixpkgs#39416</link> for further reference.
+
</para>
</listitem>
</itemizedlist>
+1 -1
nixos/maintainers/scripts/ec2/create-amis.sh
···
set -e
set -o pipefail
-
version=$(nix-instantiate --eval --strict '<nixpkgs>' -A lib.nixpkgsVersion | sed s/'"'//g)
+
version=$(nix-instantiate --eval --strict '<nixpkgs>' -A lib.version | sed s/'"'//g)
major=${version:0:5}
echo "NixOS version is $version ($major)"
+2 -4
nixos/modules/misc/version.nix
···
let
cfg = config.system.nixos;
-
releaseFile = "${toString pkgs.path}/.version";
-
suffixFile = "${toString pkgs.path}/.version-suffix";
revisionFile = "${toString pkgs.path}/.git-revision";
gitRepo = "${toString pkgs.path}/.git";
gitCommitId = lib.substring 0 7 (commitIdFromGitRepo gitRepo);
···
nixos.release = mkOption {
readOnly = true;
type = types.str;
-
default = fileContents releaseFile;
+
default = trivial.release;
description = "The NixOS release (e.g. <literal>16.03</literal>).";
};
nixos.versionSuffix = mkOption {
internal = true;
type = types.str;
-
default = if pathExists suffixFile then fileContents suffixFile else "pre-git";
+
default = trivial.versionSuffix;
description = "The NixOS version suffix (e.g. <literal>1160.f2d4ee1</literal>).";
};
+1 -1
pkgs/tools/system/osquery/default.nix
···
# this is what `osquery --help` will show as the version.
OSQUERY_BUILD_VERSION = version;
-
OSQUERY_PLATFORM = "nixos;${builtins.readFile "${toString path}/.version"}";
+
OSQUERY_PLATFORM = "nixos;${stdenv.lib.version}";
src = fetchFromGitHub {
owner = "facebook";