diff options
author | Thomas Deutschmann <whissi@gentoo.org> | 2017-06-21 15:20:17 +0200 |
---|---|---|
committer | Thomas Deutschmann <whissi@gentoo.org> | 2017-06-21 15:21:26 +0200 |
commit | a583c4ba35a3c3bd5903893d1d4b3f1544f58d2c (patch) | |
tree | abbbc81022cea0902d5db4e3459bc118b228b639 /app-arch/unrar/files | |
parent | profiles/arch/arm64: mask heimdal[afs] (diff) | |
download | gentoo-a583c4ba35a3c3bd5903893d1d4b3f1544f58d2c.tar.gz gentoo-a583c4ba35a3c3bd5903893d1d4b3f1544f58d2c.tar.bz2 gentoo-a583c4ba35a3c3bd5903893d1d4b3f1544f58d2c.zip |
Revert "app-arch/unrar: Security cleanup (bug #622342)"
This reverts commit f84896cce4b495bcf147fd493e815d5106f7aa76.
Diffstat (limited to 'app-arch/unrar/files')
-rw-r--r-- | app-arch/unrar/files/unrar-5.0.2-build.patch | 45 | ||||
-rw-r--r-- | app-arch/unrar/files/unrar-5.2.2-no-auto-clean.patch | 17 |
2 files changed, 62 insertions, 0 deletions
diff --git a/app-arch/unrar/files/unrar-5.0.2-build.patch b/app-arch/unrar/files/unrar-5.0.2-build.patch new file mode 100644 index 000000000000..61de7ee06891 --- /dev/null +++ b/app-arch/unrar/files/unrar-5.0.2-build.patch @@ -0,0 +1,45 @@ +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 new file mode 100644 index 000000000000..ff78363cd5c0 --- /dev/null +++ b/app-arch/unrar/files/unrar-5.2.2-no-auto-clean.patch @@ -0,0 +1,17 @@ +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 + |