From 900cec79a0aaf0628f855ec71d0ecf3145a67d3e Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Tue, 3 Apr 2018 14:04:05 +0200 Subject: [PATCH] lib/debug: add replacement instructions & release notes for every deprecated function. --- lib/debug.nix | 19 ++++++--- nixos/doc/manual/release-notes/rl-1809.xml | 45 ++++++++++++++++++++++ 2 files changed, 58 insertions(+), 6 deletions(-) diff --git a/lib/debug.nix b/lib/debug.nix index f4b261b824f..91a9265a6b5 100644 --- a/lib/debug.nix +++ b/lib/debug.nix @@ -117,7 +117,9 @@ rec { attrNamesToStr = a: trace ( "Warning: `attrNamesToStr` is deprecated " - + "and will be removed in the next release." ) + + "and will be removed in the next release. " + + "Please use more specific concatenation " + + "for your uses (`lib.concat(Map)StringsSep`)." ) (lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a))); showVal = with lib; @@ -142,11 +144,13 @@ rec { traceXMLVal = x: trace ( "Warning: `traceXMLVal` is deprecated " - + "and will be removed in the next release." ) + + "and will be removed in the next release. " + + "Please use `traceValFn builtins.toXML`." ) (trace (builtins.toXML x) x); traceXMLValMarked = str: x: trace ( "Warning: `traceXMLValMarked` is deprecated " - + "and will be removed in the next release." ) + + "and will be removed in the next release. " + + "Please use `traceValFn (x: str + builtins.toXML x)`." ) (trace (str + builtins.toXML x) x); # trace the arguments passed to function and its result @@ -157,13 +161,15 @@ rec { traceValIfNot = c: x: trace ( "Warning: `traceValIfNot` is deprecated " - + "and will be removed in the next release." ) + + "and will be removed in the next release. " + + "Please use `if/then/else` and `traceValSeq 1`.") (if c x then true else traceSeq (showVal x) false); addErrorContextToAttrs = attrs: trace ( "Warning: `addErrorContextToAttrs` is deprecated " - + "and will be removed in the next release." ) + + "and will be removed in the next release. " + + "Please use `builtins.addErrorContext` directly." ) (lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v) attrs); # example: (traceCallXml "myfun" id 3) will output something like @@ -173,7 +179,8 @@ rec { # args should be printed in any case traceCallXml = a: trace ( "Warning: `traceCallXml` is deprecated " - + "and will be removed in the next release." ) + + "and will be removed in the next release. " + + "Please complain if you use the function regularly." ) (if !isInt a then traceCallXml 1 "calling ${a}\n" else diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index 61f9ec8ba99..2e53f0563ba 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -56,6 +56,11 @@ has the following highlights: following incompatible changes: + + + lib.strict is removed. Use builtins.seq instead. + + The clementine package points now to the free derivation. @@ -77,6 +82,46 @@ following incompatible changes: + lib.attrNamesToStr has been deprecated. Use + more specific concatenation (lib.concat(Map)StringsSep) + instead. + + + + + lib.addErrorContextToAttrs has been deprecated. Use + builtins.addErrorContext directly. + + + + + lib.showVal has been deprecated. Use + lib.traceSeqN instead. + + + + + lib.traceXMLVal has been deprecated. Use + lib.traceValFn builtins.toXml instead. + + + + + lib.traceXMLValMarked has been deprecated. Use + lib.traceValFn (x: str + builtins.toXML x) instead. + + + + + lib.traceValIfNot has been deprecated. Use + if/then/else and lib.traceValSeq + instead. + + + + + lib.traceCallXml has been deprecated. Please complain + if you use the function regularly.