diff --git a/README.md b/README.md index 9bcb749..a2c0f3c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # make +A GNU tool for controlling the generation of executables and other non-source files of a program from the program's source files. +Make allows users to build and install packages without any significant knowledge about the details of the build process. +The details about how the program should be built are provided for make in the program's makefile. + +The GNU make tool should be installed on your system because it is commonly used to simplify the process of installing programs. + diff --git a/make-3.82-savannah-bugs-30612-30723.patch b/make-3.82-savannah-bugs-30612-30723.patch new file mode 100644 index 0000000..1b09825 --- /dev/null +++ b/make-3.82-savannah-bugs-30612-30723.patch @@ -0,0 +1,75 @@ +diff -Naur make-3.82-orig/main.c make-3.82/main.c +--- make-3.82-orig/main.c 2010-07-19 14:10:53.000000000 +0700 ++++ make-3.82/main.c 2011-01-12 21:31:30.114891591 +0700 +@@ -1,3 +1,4 @@ ++ + /* Argument parsing and main program of GNU Make. + Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, + 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, +@@ -1138,7 +1139,7 @@ + a macro and some compilers (MSVC) don't like conditionals in macros. */ + { + const char *features = "target-specific order-only second-expansion" +- " else-if shortest-stem undefine" ++ " else-if shortest-stem undefine oneshell" + #ifndef NO_ARCHIVES + " archives" + #endif +@@ -2093,7 +2094,7 @@ + const char *pv = define_makeflags (1, 1); + char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1); + sprintf (p, "MAKEFLAGS=%s", pv); +- putenv (p); ++ putenv (allocated_variable_expand (p)); + } + + if (ISDB (DB_BASIC)) +diff -Naur make-3.82-orig/read.c make-3.82/read.c +--- make-3.82-orig/read.c 2010-07-13 08:20:42.000000000 +0700 ++++ make-3.82/read.c 2011-01-12 21:31:23.497486028 +0700 +@@ -3028,7 +3028,7 @@ + { + /* This looks like the first element in an open archive group. + A valid group MUST have ')' as the last character. */ +- const char *e = p + nlen; ++ const char *e = p; + do + { + e = next_token (e); +@@ -3084,19 +3084,19 @@ + Go to the next item in the string. */ + if (flags & PARSEFS_NOGLOB) + { +- NEWELT (concat (2, prefix, tp)); ++ NEWELT (concat (2, prefix, tmpbuf)); + continue; + } + + /* If we get here we know we're doing glob expansion. + TP is a string in tmpbuf. NLEN is no longer used. + We may need to do more work: after this NAME will be set. */ +- name = tp; ++ name = tmpbuf; + + /* Expand tilde if applicable. */ +- if (tp[0] == '~') ++ if (tmpbuf[0] == '~') + { +- tildep = tilde_expand (tp); ++ tildep = tilde_expand (tmpbuf); + if (tildep != 0) + name = tildep; + } +@@ -3152,7 +3152,11 @@ + else + { + /* We got a chain of items. Attach them. */ +- (*newp)->next = found; ++ if (*newp) ++ (*newp)->next = found; ++ else ++ *newp = found; ++ + + /* Find and set the new end. Massage names if necessary. */ + while (1) diff --git a/make.spec b/make.spec new file mode 100644 index 0000000..bd548ea --- /dev/null +++ b/make.spec @@ -0,0 +1,87 @@ +Name: make +Version: 4.0 +Release: 1mamba +Summary: A GNU tool which simplifies the build process for users +Group: Applications/Development +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.gnu.org/directory/GNU/make.html +Source: http://ftp.gnu.org/pub/gnu/make/%{name}-%{version}.tar.gz +Patch0: %{name}-3.82-savannah-bugs-30612-30723.patch +License: GPL +Requires(post):%{__install_info} +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +## AUTOBUILDREQ-END +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +A GNU tool for controlling the generation of executables and other non-source files of a program from the program's source files. +Make allows users to build and install packages without any significant knowledge about the details of the build process. +The details about how the program should be built are provided for make in the program's makefile. + +The GNU make tool should be installed on your system because it is commonly used to simplify the process of installing programs. + +%prep +%setup -q +#%patch0 -p1 + +%build +%configure +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall +ln -s make %{buildroot}%{_bindir}/gmake + +%find_lang %{name} + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +%install_info %{name}.info + +%preun +%uninstall_info %{name}.info +exit 0 + +%files -f %{name}.lang +%defattr(-,root,root) +%attr(0755,root,root) %{_bindir}/make +%{_bindir}/gmake +%{_includedir}/gnumake.h +%{_infodir}/* +%{_mandir}/man1/* + +%changelog +* Fri Oct 11 2013 Automatic Build System 4.0-1mamba +- automatic version update by autodist + +* Mon Apr 23 2012 Silvan Calarco 3.82-2mamba +- applied patch to fix build of bin86 + +* Mon Aug 09 2010 Automatic Build System 3.82-1mamba +- automatic update by autodist + +* Wed Jun 04 2008 Silvan Calarco 3.81-2mamba +- specfile updated + +* Tue Sep 05 2006 Davide Madrisan 3.81-1qilnx +- update to version 3.81 by autospec + +* Tue Sep 13 2005 Davide Madrisan 3.80-5qilnx +- fixed package group +- use %%find_lang to get localization files +- install/uninstall info files + +* Mon Sep 12 2005 Silvan Calarco 3.80-4qilnx +- rebuilt with cross platform support + +* Wed Jun 18 2003 Silvan Calarco 3.80-3qilnx +- added gmake symlink + +* Mon Apr 14 2003 Alessandro Ramazzina 3.80-1qilnx +- creation of make package