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: dj@xxxxxxxxxx == 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@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxxxxxxxxxx