summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Boichat <drinkcat@chromium.org>2020-09-11 13:34:17 +0800
committerSam James <sam@gentoo.org>2020-09-14 23:45:29 +0000
commitbb2ff02e237f6b77ca3624c7a371e6dd3a4daa38 (patch)
tree86be2cb11f200748574558c54fad8732327347f2 /net-misc
parentnet-misc/pimpd: ppc stable (bug #740964) (diff)
downloadgentoo-bb2ff02e237f6b77ca3624c7a371e6dd3a4daa38.tar.gz
gentoo-bb2ff02e237f6b77ca3624c7a371e6dd3a4daa38.tar.bz2
gentoo-bb2ff02e237f6b77ca3624c7a371e6dd3a4daa38.zip
net-misc/taylor-uucp: Remove external function declarations in unix/init.c
That makes the code compile with fewer warnings, and gets rid of this error with recent Chrome OS toolchains: init.c:100:14: error: redeclaration of 'getcwd' must have the 'overloadable' attribute extern char *getcwd (); ^ /build/amd64-generic/usr/include/bits/unistd.h:158:8: note: previous overload of function is here __NTH (getcwd (char *const __clang_pass_object_size __buf, size_t __size)) ^ Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Closes: https://github.com/gentoo/gentoo/pull/17497 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/taylor-uucp/files/taylor-uucp-1.07-remove-extern.patch67
-rw-r--r--net-misc/taylor-uucp/taylor-uucp-1.07-r4.ebuild (renamed from net-misc/taylor-uucp/taylor-uucp-1.07-r3.ebuild)1
2 files changed, 68 insertions, 0 deletions
diff --git a/net-misc/taylor-uucp/files/taylor-uucp-1.07-remove-extern.patch b/net-misc/taylor-uucp/files/taylor-uucp-1.07-remove-extern.patch
new file mode 100644
index 000000000000..4a8efeeb83f3
--- /dev/null
+++ b/net-misc/taylor-uucp/files/taylor-uucp-1.07-remove-extern.patch
@@ -0,0 +1,67 @@
+From 84b5bf1e6b8cfad657b88f8b061e172e327ef970 Mon Sep 17 00:00:00 2001
+From: Nicolas Boichat <drinkcat@chromium.org>
+Date: Thu, 10 Sep 2020 17:06:37 +0800
+Subject: [PATCH] Remove external function declarations
+
+We need to redeclare functions that we already have.
+
+This causes issues with recent toolchains:
+init.c:100:14: error: redeclaration of 'getcwd' must have the 'overloadable' attribute
+extern char *getcwd ();
+ ^
+/build/amd64-generic/usr/include/bits/unistd.h:158:8: note: previous overload of function is here
+__NTH (getcwd (char *const __clang_pass_object_size __buf, size_t __size))
+ ^
+
+And also reduces the number of build warnings.
+
+This forked repo does the same thing in this (large) cleanup patch:
+https://github.com/quinot/taylor-uucp/commit/b599665ae1e085df0f96de5f50a738fceee02150
+---
+ unix/init.c | 30 ------------------------------
+ 1 file changed, 30 deletions(-)
+
+diff --git a/unix/init.c b/unix/init.c
+index d9d2147edd93..a9b7135be9f4 100644
+--- a/unix/init.c
++++ b/unix/init.c
+@@ -81,36 +81,6 @@
+ #endif /* ! defined (MAXPATHLEN) */
+ #endif /* HAVE_GETWD */
+
+-/* External functions. */
+-#ifndef getlogin
+-extern char *getlogin ();
+-#endif
+-#if GETPWNAM_DECLARATION_OK
+-#ifndef getpwnam
+-extern struct passwd *getpwnam ();
+-#endif
+-#endif
+-#if GETPWUID_DECLARATION_OK
+-#ifndef getpwuid
+-extern struct passwd *getpwuid ();
+-#endif
+-#endif
+-#if HAVE_GETCWD
+-#ifndef getcwd
+-extern char *getcwd ();
+-#endif
+-#endif
+-#if HAVE_GETWD
+-#ifndef getwd
+-extern char *getwd ();
+-#endif
+-#endif
+-#if HAVE_SYSCONF
+-#ifndef sysconf
+-extern long sysconf ();
+-#endif
+-#endif
+-
+ /* Initialize the system dependent routines. We will probably be running
+ suid to uucp, so we make sure that nothing is obviously wrong. We
+ save the login name since we will be losing the real uid. */
+--
+2.28.0.526.ge36021eeef-goog
+
diff --git a/net-misc/taylor-uucp/taylor-uucp-1.07-r3.ebuild b/net-misc/taylor-uucp/taylor-uucp-1.07-r4.ebuild
index c32b453cdeef..1f216fb1763e 100644
--- a/net-misc/taylor-uucp/taylor-uucp-1.07-r3.ebuild
+++ b/net-misc/taylor-uucp/taylor-uucp-1.07-r4.ebuild
@@ -18,6 +18,7 @@ S="${WORKDIR}/uucp-${PV}"
src_prepare() {
epatch "${FILESDIR}"/${P}-gentoo.patch
epatch "${FILESDIR}"/${P}-fprintf.patch
+ epatch "${FILESDIR}"/${P}-remove-extern.patch
mv configure.{in,ac} || die
sed -i 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die
eautoreconf