https://fedoraproject.org/wiki/Changes/MAKE43

== Summary ==

Rebase GNU make in Fedora 33 from make version 4.2 to make version 4.3.

== Owner ==

* Name: [[User:djdelorie| DJ Delorie]]
* Email: d...@redhat.com

== Detailed Description ==
Make 4.3 was released on January 19th 2020.  It includes many bug
fixes and new features.  Fedora has been carrying many patches to the
4.2 release which are included in 4.3, reducing the workload for
Fedora builders.

Note that Fedora is also carrying some patches to retain compatibility
with make version 3.8, as an aid to packages which needed time to
adapt to make version 4.  These compatibility patches will be removed
in this rebase, making Fedora's make the same as other distros.  Some
packages may FTBFS and need help tweaking their Makefiles.

== Benefit to Fedora ==

Stay up to date with upstream GNU make, make sure we have the latest
bug fixes et al, be compatible with stock GNU make.

== Scope ==
* Proposal owners: Update to GNU make 4.3

* Other developers: Package owners relying on makefile features
specific to older versions of GNU make (including compatibility
patches for 3.8 we're dropping) may FTBFS and need to tweak their
Makefiles.

* Release engineering:  (a check of an impact with Release Engineering
is pending)

* Policies and guidelines: The policies and guidelines do not need to
be updated.

* Trademark approval: N/A (not needed for this Change)

== Upgrade/compatibility impact ==

Users who have local projects using GNU make, which rely on features
only available in older versions of GNU make, may need to tweak their
Makefiles before rebuilding.  Packages which were built previous to
this upgrade will not be affected.

Specific backwards incompatibilities as called out in the NEWS file
for make 4.3:

<pre>
* WARNING: Backward-incompatibility!
  Number signs (#) appearing inside a macro reference or function invocation
  no longer introduce comments and should not be escaped with backslashes:
  thus a call such as:
    foo := $(shell echo '#')
  is legal.  Previously the number sign needed to be escaped, for example:
    foo := $(shell echo '\#')
  Now this latter will resolve to "\#".  If you want to write makefiles
  portable to both versions, assign the number sign to a variable:
    H := \#
    foo := $(shell echo '$H')
  This was claimed to be fixed in 3.81, but wasn't, for some reason.
  To detect this change search for 'nocomment' in the .FEATURES variable.

* WARNING: Backward-incompatibility!
  Previously appending using '+=' to an empty variable would result in a value
  starting with a space.  Now the initial space is only added if the variable
  already contains some value.  Similarly, appending an empty string does not
  add a trailing space.
</pre>

== How To Test ==

GNU make has its own testsuite and does not require specific hardware
or testing outside of building the RPM.

== User Experience ==

Users will get all bugfixes included in make 4.3 as well as any new
features therein.  The make 4.3 NEWS update will include more details.

== Dependencies ==

No dependencies.

== Contingency Plan ==

* Contingency mechanism: Revert to make 4.2.1
* Contingency deadline: Beta freeze.  If there is a mass rebuild,
preferably before then.
* Blocks release? No

== Documentation ==

GNU Make includes its own documentation.  No additional documentation
work is required.

== Release Notes ==

Full release notes can be found in make's NEWS file:
http://git.savannah.gnu.org/cgit/make.git/tree/NEWS

-- 
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to