Accepting request 262063 from Base:System

1

OBS-URL: https://build.opensuse.org/request/show/262063
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/make?expand=0&rev=34
This commit is contained in:
Dominique Leuenberger 2014-11-24 10:08:01 +00:00 committed by Git OBS Bridge
commit c6035147b0
3 changed files with 88 additions and 23 deletions

View File

@ -0,0 +1,53 @@
From 292da6f6867b75a5af7ddbb639a1feae022f438f Mon Sep 17 00:00:00 2001
From: Paul Smith <psmith@gnu.org>
Date: Mon, 20 Oct 2014 05:54:56 +0000
Subject: * main.c (main): [SV 43434] Handle NULL returns from ttyname().
---
diff --git a/main.c b/main.c
index b2d169c..0cdb8a8 100644
--- a/main.c
+++ b/main.c
@@ -1429,13 +1429,18 @@ main (int argc, char **argv, char **envp)
#ifdef HAVE_ISATTY
if (isatty (fileno (stdout)))
if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMOUT")))
- define_variable_cname ("MAKE_TERMOUT", TTYNAME (fileno (stdout)),
- o_default, 0)->export = v_export;
-
+ {
+ const char *tty = TTYNAME (fileno (stdout));
+ define_variable_cname ("MAKE_TERMOUT", tty ? tty : DEFAULT_TTYNAME,
+ o_default, 0)->export = v_export;
+ }
if (isatty (fileno (stderr)))
if (! lookup_variable (STRING_SIZE_TUPLE ("MAKE_TERMERR")))
- define_variable_cname ("MAKE_TERMERR", TTYNAME (fileno (stderr)),
- o_default, 0)->export = v_export;
+ {
+ const char *tty = TTYNAME (fileno (stderr));
+ define_variable_cname ("MAKE_TERMERR", tty ? tty : DEFAULT_TTYNAME,
+ o_default, 0)->export = v_export;
+ }
#endif
/* Reset in case the switches changed our minds. */
diff --git a/makeint.h b/makeint.h
index 6223936..2009f41 100644
--- a/makeint.h
+++ b/makeint.h
@@ -436,10 +436,11 @@ extern struct rlimit stack_limit;
/* The number of bytes needed to represent the largest integer as a string. */
#define INTSTR_LENGTH CSTRLEN ("18446744073709551616")
+#define DEFAULT_TTYNAME "true"
#ifdef HAVE_TTYNAME
# define TTYNAME(_f) ttyname (_f)
#else
-# define TTYNAME(_f) "true"
+# define TTYNAME(_f) DEFAULT_TTYNAME
#endif
--
cgit v0.9.0.2

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Mon Nov 17 12:08:11 UTC 2014 - tchvatal@suse.com
- Cleanup a bit with spec-cleaner
- Split lang stuff into subpackage and add recommends
- Add patch to work with non-mounted pts:
* make-4.1-fix_null_returns_from_ttyname.patch
-------------------------------------------------------------------
Wed Oct 15 22:21:06 UTC 2014 - andreas.stieger@gmx.de

View File

@ -17,58 +17,62 @@
Name: make
Url: http://www.gnu.org/software/make/make.html
Provides: gmake
PreReq: %install_info_prereq
Version: 4.1
Release: 0
Summary: GNU make
License: GPL-2.0+
Group: Development/Tools/Building
Source: http://ftp.gnu.org/gnu/make/make-%version.tar.bz2
Source1: http://ftp.gnu.org/gnu/make/make-%version.tar.bz2.sig
Url: http://www.gnu.org/software/make/make.html
Source: http://ftp.gnu.org/gnu/make/make-%{version}.tar.bz2
Source1: http://ftp.gnu.org/gnu/make/make-%{version}.tar.bz2.sig
# keyring downloaded from http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=make
Source2: %name.keyring
Source2: %{name}.keyring
Patch1: make-testcases_timeout.diff
Patch2: make-4.1-fix_null_returns_from_ttyname.patch
Patch64: make-library-search-path.diff
#BuildRequires: gpg-offline
Requires(post): %{install_info_prereq}
Recommends: %{name}-lang
Provides: gmake
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The GNU make command with extensive documentation.
%lang_package
%prep
%setup -q
%patch1 -p1
if [ %_lib == lib64 ]; then
%patch2 -p1
if [ %{_lib} == lib64 ]; then
%patch64 -p1
fi
%build
CFLAGS=$RPM_OPT_FLAGS \
./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
export CFLAGS="%{optflags}"
%configure
make %{?_smp_mflags}
%check
make check
make %{?_smp_mflags} check
%install
make DESTDIR=$RPM_BUILD_ROOT install
ln -s make $RPM_BUILD_ROOT/usr/bin/gmake
%find_lang %name
make DESTDIR=%{buildroot} install %{?_smp_mflags}
ln -s make %{buildroot}%{_bindir}/gmake
%find_lang %{name}
# gnumake.h was introduced in 4.0, looks useless
rm $RPM_BUILD_ROOT/usr/include/gnumake.h
rm %{buildroot}%{_includedir}/gnumake.h
%files -f %name.lang
%files
%defattr(-,root,root)
/usr/bin/make
/usr/bin/gmake
%doc /usr/share/info/make.info-*.gz
%doc /usr/share/info/make.info.gz
%doc /usr/share/man/man1/make.1.gz
%{_bindir}/make
%{_bindir}/gmake
%doc %{_infodir}/make.info-*.gz
%doc %{_infodir}/make.info.gz
%doc %{_mandir}/man1/make.1.gz
%clean
rm -rf $RPM_BUILD_ROOT
%files lang -f %{name}.lang
%defattr(-,root,root)
%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz