app-arch/unrar: Security cleanup (bug #622342)
authorThomas Deutschmann <whissi@gentoo.org>
Wed, 21 Jun 2017 12:21:35 +0000 (14:21 +0200)
committerThomas Deutschmann <whissi@gentoo.org>
Wed, 21 Jun 2017 12:21:47 +0000 (14:21 +0200)
Package-Manager: Portage-2.3.5, Repoman-2.3.2

app-arch/unrar/Manifest
app-arch/unrar/files/unrar-5.0.2-build.patch [deleted file]
app-arch/unrar/files/unrar-5.2.2-no-auto-clean.patch [deleted file]
app-arch/unrar/unrar-5.4.5.ebuild [deleted file]

index fb13df3fb153e14019549e72600892a547fbb876..b4fb96e475ea1f9f2af586eb8a173ddb578765cf 100644 (file)
@@ -1,2 +1 @@
 DIST unrar-5.5.5.tar.gz 220377 SHA256 a4553839cb2f025d0d9c5633816a83a723e3938209f17620c8c15da06ed061ef SHA512 b0979641737e3ef18f6708cc19e335c312ac5c6e2a13206d5fed9a5564ac99042c45a842da95163e53c6415131a39a91e901aeb186016da2e3781164679a07ff WHIRLPOOL e22399e866fabeb6f0c1617ca6b8852cf1bd406c0e95e5480692fe33bed9a130dd678f93dde6401015928437b99949865a80b21774788fdb1c7a12e3175560f4
-DIST unrarsrc-5.4.5.tar.gz 226320 SHA256 e470c584332422893fb52e049f2cbd99e24dc6c6da971008b4e2ae4284f8796c SHA512 ba2abf11638b5ee026cb9e0c3576c94376a01ab3c5411b9bd0e8116d64879c81e76df16f98d850f0f0f5387dda046f38be64ddfb4fe57431cc4d97066d6e3c2f WHIRLPOOL c8e035ec183f41d8faf8345b49d2a4d20e21f9c6e27f14d7794389942df4954cd66ab4a5be2fdff6d369b514ae99d5d015f35a36143d686563b2a8efdfc77dce
diff --git a/app-arch/unrar/files/unrar-5.0.2-build.patch b/app-arch/unrar/files/unrar-5.0.2-build.patch
deleted file mode 100644 (file)
index 61de7ee..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-do not let these targets depend on clean, otherwise it could run in
-parallel with the object compile which runs into races
-https://bugs.gentoo.org/461806
-
-While we're in here, fix up a few other things:
- - append -pthread to LDFLAGS instead of replacing them
- - do not bother with `rm` in the output since linking will clober it
- - use CXXFLAGS when linking
- - append LIBFLAGS to the individual targets instead of the final link
-
---- a/makefile
-+++ b/makefile
-@@ -7,7 +7,7 @@
- LIBFLAGS=-fPIC
- DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP
- STRIP=strip
--LDFLAGS=-pthread
-+LDFLAGS+=-pthread
- DESTDIR=/usr
- 
- # Linux using LCC
-@@ -119,8 +119,7 @@
-       @rm -f *.o *.bak *~
- 
- unrar:        clean $(OBJECTS) $(UNRAR_OBJ)
--      @rm -f unrar
--      $(LINK) -o unrar $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)     
-+      $(LINK) -o unrar $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS) 
-       $(STRIP) unrar
- 
- sfx:  WHAT=SFX_MODULE
-@@ -130,10 +129,9 @@
-       $(STRIP) default.sfx
- 
- lib:  WHAT=RARDLL
--lib:  CXXFLAGS+=$(LIBFLAGS)
--lib:  clean $(OBJECTS) $(LIB_OBJ)
--      @rm -f libunrar.so
--      $(LINK) -shared -o libunrar.so $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
-+$(OBJECTS) $(LIB_OBJ):        CXXFLAGS+=$(LIBFLAGS)
-+lib:  $(OBJECTS) $(LIB_OBJ)
-+      $(LINK) -shared -o libunrar.so $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
- 
- install-unrar:
-                       install -D unrar $(DESTDIR)/bin/unrar
diff --git a/app-arch/unrar/files/unrar-5.2.2-no-auto-clean.patch b/app-arch/unrar/files/unrar-5.2.2-no-auto-clean.patch
deleted file mode 100644 (file)
index ff78363..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-if clean runs in parallel with $(OBJECTS), it is possible to build some
-objects first, then the clean target fires and deletes some, and then we
-try to link and fail.
-
-https://bugs.gentoo.org/528218
-
---- a/makefile
-+++ b/makefile
-@@ -118,7 +118,7 @@
- clean:
-       @rm -f *.o *.bak *~
- 
--unrar:        clean $(OBJECTS) $(UNRAR_OBJ)
-+unrar:        $(OBJECTS) $(UNRAR_OBJ)
-       $(LINK) -o unrar $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS) 
-       $(STRIP) unrar
- 
diff --git a/app-arch/unrar/unrar-5.4.5.ebuild b/app-arch/unrar/unrar-5.4.5.ebuild
deleted file mode 100644 (file)
index fe4cf6d..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic multilib toolchain-funcs
-
-MY_PN=${PN}src
-
-DESCRIPTION="Uncompress rar files"
-HOMEPAGE="http://www.rarlab.com/rar_add.htm"
-SRC_URI="http://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz"
-
-LICENSE="unRAR"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
-IUSE=""
-
-RDEPEND="!<=app-arch/unrar-gpl-0.0.1_p20080417"
-
-S=${WORKDIR}/unrar
-
-src_prepare() {
-       epatch "${FILESDIR}"/${PN}-5.0.2-build.patch
-       epatch "${FILESDIR}"/${PN}-5.2.2-no-auto-clean.patch #528218
-       local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
-       if [[ ${CHOST} == *-darwin* ]] ; then
-               sed_args+=( -e "s:-shared:-dynamiclib -install_name ${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
-       else
-               sed_args+=( -e "s:-shared:& -Wl,-soname -Wl,libunrar$(get_libname ${PV%.*.*}):" )
-       fi
-       sed -i "${sed_args[@]}" makefile || die
-}
-
-src_configure() {
-       mkdir -p build-{lib,bin}
-       printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
-       cp build-{lib,bin}/Makefile || die
-}
-
-src_compile() {
-       unrar_make() {
-               emake CXX="$(tc-getCXX)" CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
-       }
-
-       unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
-       ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname) || die
-       ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname ${PV}) || die
-
-       unrar_make -C build-bin
-}
-
-src_install() {
-       dobin build-bin/unrar
-       dodoc readme.txt
-
-       dolib.so build-lib/libunrar*
-
-       insinto /usr/include/libunrar${PV%.*.*}
-       doins *.hpp
-       dosym libunrar${PV%.*.*} /usr/include/libunrar
-}