summaryrefslogtreecommitdiff
path: root/debian/NEWS.Debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian/NEWS.Debian')
-rw-r--r--debian/NEWS.Debian185
1 files changed, 185 insertions, 0 deletions
diff --git a/debian/NEWS.Debian b/debian/NEWS.Debian
new file mode 100644
index 00000000..08f01cca
--- /dev/null
+++ b/debian/NEWS.Debian
@@ -0,0 +1,185 @@
+make-dfsg (4.1-2) unstable; urgency=low
+
+ WARNING: Backward-incompatibility!
+
+ The ar program in the binutils package in Debian is now configured
+ with --enable-deterministic-archives. This change makes the archives
+ reproducible, by setting the UID, GID, and timestamp to 0. However,
+ when dealing with archives created with the libxx(*.o) style rules,
+ make needs the timestamp of the file in order to decide to update it
+ or not. With the current deterministic behavior of ar, the time stamp
+ is always 0. This has consequences, since make will fall back to always
+ adding each member to the archive, whether or not it is required. This
+ is a change in behaviour, and, for instance, it makes make fail to
+ build, failing 7 out of 10 archive tests.
+ .
+ Since binutils will create archive with time stamps set to 0 when
+ running in "deterministic" mode, make will always try to update such
+ members. When this is detected, make will emit a warning.
+ .
+ There is some online discussion:
+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798804
+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798913
+ https://bugzilla.redhat.com/show_bug.cgi?id=1195883
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 18 Jan 2016 16:09:19 -0800
+
+make-dfsg (4.0-1) experimental; urgency=low
+
+ WARNING: Backward-incompatibility!
+ If .POSIX is specified, then make adheres to the POSIX backslash/newline
+ handling requirements, which introduces the following changes to the
+ standard backslash/newline handling in non-recipe lines:
+ * Any trailing space before the backslash is preserved
+ * Each backslash/newline (plus subsequent whitespace) is converted to a
+ single space
+
+ -- Manoj Srivastava <srivasta@debian.org> Sat, 12 Apr 2014 23:56:34 -0700
+
+make-dfsg (3.82-1) experimental; urgency=low
+
+ * New upstream release. A complete list of bugs fixed in this version is
+ available here: http://sv.gnu.org/bugs/index.php?group=make&report_id=111&fix_release_id=104&set=custom
+ * WARNING: Future backward-incompatibility!
+ Wildcards are not documented as returning sorted values, but up to and
+ including this release the results have been sorted and some makefiles
+ are apparently depending on that. In the next release of GNU make,
+ for performance reasons, we may remove that sorting. If your
+ makefiles require sorted results from wildcard expansions, use the
+ $(sort ...) function to request it explicitly.
+ * WARNING: Backward-incompatibility!
+ The POSIX standard for make was changed in the 2008 version in a
+ fundamentally incompatible way: make is required to invoke the shell
+ as if the '-e' flag were provided. Because this would break many
+ makefiles that have been written to conform to the original text of
+ the standard, the default behavior of GNU make remains to invoke the
+ shell with simply '-c'. However, any makefile specifying the .POSIX
+ special target will follow the new POSIX standard and pass '-e' to the
+ shell. See also .SHELLFLAGS below.
+ * WARNING: Backward-incompatibility!
+ The '$?' variable now contains all prerequisites that caused the
+ target to be considered out of date, even if they do not exist
+ (previously only existing targets were provided in $?).
+ * WARNING: Backward-incompatibility!
+ As a result of parser enhancements, three backward-compatibility
+ issues exist: first, a prerequisite containing an "=" cannot be
+ escaped with a backslash any longer. You must create a variable
+ containing an "=" and use that variable in the prerequisite. Second,
+ variable names can no longer contain whitespace, unless you put the
+ whitespace in a variable and use the variable. Third, in previous
+ versions of make it was sometimes not flagged as an error for explicit
+ and pattern targets to appear in the same rule. Now this is always
+ reported as an error.
+ * WARNING: Backward-incompatibility!
+ The pattern-specific variables and pattern rules are now applied in
+ the shortest stem first order instead of the definition order
+ (variables and rules with the same stem length are still applied in
+ the definition order). This produces the usually-desired behavior
+ where more specific patterns are preferred. To detect this feature
+ search for 'shortest-stem' in the .FEATURES special variable.
+ * WARNING: Backward-incompatibility!
+ The library search behavior has changed to be compatible with the
+ standard linker behavior. Prior to this version for prerequisites
+ specified using the -lfoo syntax make first searched for libfoo.so in
+ the current directory, vpath directories, and system directories. If
+ that didn't yield a match, make then searched for libfoo.a in these
+ directories. Starting with this version make searches first for
+ libfoo.so and then for libfoo.a in each of these directories in order.
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 18 Jul 2011 00:38:04 -0700
+
+make (3.80+3.81.b3.1-1) unstable; urgency=low
+
+ * WARNING: Backward-incompatibility! (this may help CDBS users)
+ GNU make now implements a generic "second expansion" feature on the
+ prerequisites of both explicit and implicit (pattern) rules. In order
+ to enable this feature, the special target '.SECONDEXPANSION' must be
+ defined before the first target which takes advantage of it. If this
+ feature is enabled then after all rules have been parsed the
+ prerequisites are expanded again, this time with all the automatic
+ variables in scope. This means that in addition to using standard
+ SysV $$@ in prerequisites lists, you can also use complex functions
+ such as $$(notdir $$@) etc. This behavior applies to implicit rules,
+ as well, where the second expansion occurs when the rule is matched.
+ However, this means that you need to double-quote any "$" in your
+ filenames; instead of "foo: boo$$bar" you now must write "foo:
+ foo$$$$bar". Note that the SysV $$@ etc. feature, which used to be
+ available by default, is now ONLY available when the .SECONDEXPANSION
+ target is defined. If your makefiles take advantage of this SysV
+ feature you will need to update them.
+ * New special variables available in this release:
+ - .INCLUDE_DIRS: Expands to a list of directories that make searches
+ for included makefiles.
+ * New functions available in this release:
+ - $(info ...) prints its arguments to stdout. No makefile name or
+ line number info, etc. is printed.
+ - $(flavor ...) returns the flavor of a variable.
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 12 Dec 2005 13:38:47 -0600
+
+make (3.80+3.81.b3-1) unstable; urgency=low
+
+ * WARNING: Backward-incompatibility!
+ GNU make now implements a generic "second expansion" feature on the
+ prerequisites of both explicit and implicit (pattern) rules. After
+ all rules have been parsed the prerequisites are expanded again, this
+ time with all the automatic variables in scope. This means that in
+ addition to using standard SysV $$@ in prerequisites lists, you can
+ also use complex functions such as $$(notdir $$@) etc. This behavior
+ applies to implicit rules, as well, where the second expansion occurs
+ after the rule is matched. However, this means that you need to
+ double-quote any "$" in your filenames; instead of "foo: boo$$bar" you
+ now must write "foo: foo$$$$bar".
+ * WARNING: Backward-incompatibility!
+ In order to comply with POSIX, the way in which GNU make processes
+ backslash-newline sequences in command strings has changed. See the
+ GNU make manual section "Command Execution" for details.
+ * New command-line option: -L (--check-symlink-times). On systems that
+ support symbolic links, if this option is given then GNU make will use
+ the most recent modification time of any symbolic links that are used
+ to resolve target files. The default behavior remains as it always
+ has: use the modification time of the actual target file only.
+ * The "else" conditional line can now be followed by any other legal
+ conditional on the same line: this does not increase the depth of the
+ conditional nesting, so only one "endif" is required to close the
+ conditional.
+ * All pattern-specific variables that match a given target are now used
+ (previously only the first match was used).
+ * Target-specific variables can be marked as exportable using the
+ "export" keyword.
+ * In a recursive $(call ...) context, any extra arguments from the outer
+ call are now masked in the context of the inner call.
+ * Implemented a solution for the "thundering herd" problem with "-j -l".
+ This version of GNU make uses an algorithm suggested by Thomas Riedl
+ <thomas.riedl@siemens.com> to track the number of jobs started in the
+ last second and artificially adjust GNU make's view of the system's
+ load average accordingly.
+ * New special variables available in this release:
+ - .FEATURES: Contains a list of special features available in this
+ version of GNU make.
+ - .DEFAULT_GOAL: Set the name of the default goal make will
+ use if no goals are provided on the command line.
+ - MAKE_RESTARTS: If set, then this is the number of times this
+ instance of make has been restarted (see "How Makefiles Are Remade"
+ in the manual).
+ - New automatic variable: $| (added in 3.80, actually): contains all
+ the order-only prerequisites defined for the target.
+ * New functions available in this release:
+ - $(lastword ...) returns the last word in the list. This gives
+ identical results as $(word $(words ...) ...), but is much faster.
+ - $(abspath ...) returns the absolute path (all "." and ".."
+ directories resolved, and any duplicate "/" characters removed) for
+ each path provided.
+ - $(realpath ...) returns the canonical pathname for each path
+ provided. The canonical pathname is the absolute pathname, with
+ all symbolic links resolved as well.
+ - $(info ...) prints informative messages to stdout. No makefile
+ name or line number info, etc. is printed, just the message.
+ * Changes made for POSIX compatibility:
+ - Only touch targets (under -t) if they have at least one command.
+ - Setting the SHELL make variable does NOT change the value of the
+ SHELL environment variable given to programs invoked by make. As
+ an enhancement to POSIX, if you export the make variable SHELL then
+ it will be set in the environment, just as before.
+
+ -- Manoj Srivastava <srivasta@debian.org> Fri, 9 Dec 2005 21:28:14 -0600