app-misc/fdutils: fix parallel compile & add 20081027 patch
authorRobin H. Johnson <robbat2@gentoo.org>
Sun, 17 Mar 2019 22:35:36 +0000 (15:35 -0700)
committerRobin H. Johnson <robbat2@gentoo.org>
Sun, 17 Mar 2019 22:37:11 +0000 (15:37 -0700)
Fix parallel compile .a target, and add upstream's 20081027 patch that
was missed otherwise, as well as a compile-fix for the 20081027 patch.

Add myself as maintainer, because I've used this in the past, and used
to be one of the kernel-misc maintainers.

Fixes: https://bugs.gentoo.org/315577
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
app-misc/fdutils/Manifest
app-misc/fdutils/fdutils-5.5.20060227-r1.ebuild [new file with mode: 0644]
app-misc/fdutils/files/fdutils-5.5-superformat-snprintf.patch [new file with mode: 0644]
app-misc/fdutils/files/fdutils-5.5.20060227-r1-parallel.patch [new file with mode: 0644]
app-misc/fdutils/metadata.xml

index aaeb31b898f08a8aa5a5d359269d1ab1f4d05206..94c7a92721169da60254711a29c0187522db59b9 100644 (file)
@@ -1,2 +1,4 @@
+DIST fdutils-5.5-20060227_20081027.diff.gz 6748 BLAKE2B a6d9bf332a777c6c09c85ea85adfaf02422ed2e459d3cb5248c5f6c122e11d39c1a426288d8b611f61ee5ed33ceb5695644f6fbf5421e7a0b1b9937c6a3c26f3 SHA512 979ad8116a5e0c82584a534095e60689d3920d16f0685a184619012d4146f89d6dce063d896668242bf10a6372579ad16ee3e2093e386ff430f265a23458750d
 DIST fdutils_5.5-20060227-6.debian.tar.gz 54489 BLAKE2B 4d0fbd1c9c4f115a9df3f7092e062173f6a8956df8d465bb0186f712f51f6ef9e4fc67c4c642cdf7ae7e9daa775d6657c4306f5837307a51daa0abcc12639b0e SHA512 db6759bd2b98ae65bca39cf5b09fdb250371e02daa7665d8d21f93c3ab968cfe345cecb20faedaf2600104b22e2fb4df6868860dac3ead0ffb28d2141c8d7149
+DIST fdutils_5.5-20060227-8.debian.tar.xz 48480 BLAKE2B 16de5a3b9f634c3eafbe9048d84c6ff29933e5b5ad878de79e6b03aac49ec44334e7e8e090ad0518bc83e8adb91dd19612850f0de7e28bc9d9c10663fd9a5252 SHA512 a55823c2a4defe1ebad5a92c96a85766520a744b75f49e9f99eb14ec2c0ec44f91a72437d070942a4603f7e337ed60c380f61635b4aba57dbb5ddc8d771d8b89
 DIST fdutils_5.5-20060227.orig.tar.gz 222915 BLAKE2B d76a4b30ab60ea081e333817af11fe3815e8e19149c643afbcb931dc670fa3893cb96bb6be2136dea10fea06894a02e7fd1ecc4500ca6dd786054bbdaea19262 SHA512 a25d23827b9178a9a54d0012ad20248072e07aa5798bb3661fd0412d2441239b7bbf1778b5e34acb1a09a25a76e44c1801b706a242ce3b2337c06757e0ac02dd
diff --git a/app-misc/fdutils/fdutils-5.5.20060227-r1.ebuild b/app-misc/fdutils/fdutils-5.5.20060227-r1.ebuild
new file mode 100644 (file)
index 0000000..d234389
--- /dev/null
@@ -0,0 +1,59 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils
+
+MY_P=${PN}_5.5-20060227
+
+DESCRIPTION="utilities for configuring and debugging the Linux floppy driver"
+HOMEPAGE="https://fdutils.linux.lu"
+SRC_URI="mirror://debian/pool/main/f/${PN}/${MY_P}.orig.tar.gz
+       mirror://debian/pool/main/f/${PN}/${MY_P}-8.debian.tar.xz
+       https://dev.gentoo.org/~robbat2/distfiles/fdutils-5.5-20060227_20081027.diff.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc"
+
+RDEPEND=">=sys-fs/mtools-4"
+DEPEND="${RDEPEND}
+       sys-apps/texinfo
+       virtual/os-headers
+       doc? ( virtual/texi2dvi )"
+
+S=${WORKDIR}/${PN}-5.5-20060227
+
+src_prepare() {
+       local d="${WORKDIR}"/debian/patches
+       EPATCH_SOURCE="${d}" epatch $(<"${d}"/series)
+       sed -i -e 's:{LDFLAFS}:(LDFLAGS):' src/Makefile.in || die #337721
+       # The build sets up config.h and uses some symbols, but forgots to
+       # actually include it in most places.
+       sed -i '1i#include "../config.h"' src/*.c || die #580060
+       epatch "${FILESDIR}"/fdutils-5.5.20060227-r1-parallel.patch || die # 315577
+       epatch "${DISTDIR}"/fdutils-5.5-20060227_20081027.diff.gz || die # upstream did make a patch-based release after 20060227!
+       epatch "${FILESDIR}"/fdutils-5.5-superformat-snprintf.patch || die # but it had a bug that strict GCC catches
+}
+
+src_configure() {
+       econf --enable-fdmount-floppy-only
+}
+
+src_compile() {
+       emake $(use doc || echo compile)
+}
+
+src_install() {
+       dodir /etc
+       use doc && dodir /usr/share/info
+
+       emake DESTDIR="${D}" install
+
+       # The copy in sys-apps/man-pages is more recent
+       rm -f "${ED}"/usr/share/man/man4/fd.4 || die
+
+       # Rename to match binary
+       mv "${ED}"/usr/share/man/man1/{makefloppies,MAKEFLOPPIES}.1 || die
+}
diff --git a/app-misc/fdutils/files/fdutils-5.5-superformat-snprintf.patch b/app-misc/fdutils/files/fdutils-5.5-superformat-snprintf.patch
new file mode 100644 (file)
index 0000000..4975347
--- /dev/null
@@ -0,0 +1,16 @@
+Fix of snprintf bug in upstream's 20081027 diff.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Nuar --exclude '*.orig' --exclude '*~' fdutils-5.5-20060227.orig/src/superformat.c fdutils-5.5-20060227/src/superformat.c
+--- fdutils-5.5-20060227.orig/src/superformat.c        2019-03-17 14:46:44.051851597 -0700
++++ fdutils-5.5-20060227/src/superformat.c     2019-03-17 14:48:34.550873108 -0700
+@@ -1140,7 +1140,7 @@
+               if (verbosity >= 5)
+                       printf("calling mformat\n");
+               if (use_2m)
+-                      snprintf(twom_buffer, 5, "-2 %2d", fd0.dsect);
++                      snprintf(twom_buffer, 6, "-2 %2d", fd0.dsect);
+               else
+                       twom_buffer[0]='\0';
+               snprintf(command_buffer, 79,
diff --git a/app-misc/fdutils/files/fdutils-5.5.20060227-r1-parallel.patch b/app-misc/fdutils/files/fdutils-5.5.20060227-r1-parallel.patch
new file mode 100644 (file)
index 0000000..52c0a13
--- /dev/null
@@ -0,0 +1,18 @@
+The Makefile implicit archive format ('Archives' in make.info)  from, e.g.
+'libfdutils.a($(LIBFILES))' does not support parallel operations. Convert to
+parallel-safe structure.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+--- fdutils-5.5-20060227.orig/src/Makefile.in  2019-03-17 13:25:43.891918479 -0700
++++ fdutils-5.5-20060227/src/Makefile.in       2019-03-17 13:30:05.067424657 -0700
+@@ -67,7 +67,7 @@
+ lex.%.c: %.lex
+       lex -P$* $<
+
+-libfdutils.a: libfdutils.a($(LIBFILES))
+-      ranlib libfdutils.a
++libfdutils.a: $(LIBFILES)
++      ar rcs $@ $^
+ 
+ floppycontrol.o getfdprm setfdprm: /usr/include/linux/fd.h
index 6f49eba8f49693023f393161560b3a2d9e2717c5..4073267daf2a87f54117ad5e69a8c7aa38100fba 100644 (file)
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
 <pkgmetadata>
-<!-- maintainer-needed -->
+       <maintainer type="person">
+               <email>robbat2@gentoo.org</email>
+               <name>Robin H. Johnson</name>
+       </maintainer>
 </pkgmetadata>