diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..cc06f08 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,194 @@ +p7zip-rar (16.02-1) unstable; urgency=low + + * New upstream version. + + -- Robert Luberda Mon, 15 Aug 2016 12:54:06 +0200 + +p7zip-rar (15.14.1-1) unstable; urgency=low + + * New upstream version. + * Update 01-clean-makefile.patch for new version and remove the following + no longer needed patches: 06-s390.patch, 07-endian-detection.patch, and + 08-mips.patch. + * Standards-Version: 3.9.8. + + -- Robert Luberda Sun, 17 Apr 2016 08:10:10 +0200 + +p7zip-rar (15.09-2) unstable; urgency=low + + * Upload to unstable. + * Switch Vcs-Git to https, and Vcs-Browser to cgit. + * Bump Standards-Version to 3.9.7. + + -- Robert Luberda Sun, 13 Mar 2016 09:49:59 +0100 + +p7zip-rar (15.09-1) experimental; urgency=low + + * New upstream version. + * Synchronize patches from the p7zip package. This introduces 06-s390.patch, + 07-endian-detection.patch, and 08-mips.patch related to FTBFS fixes. + * Update p7zip dependency in debian/control. + * Switch debian/copyright to DEP-5 format. + + -- Robert Luberda Sat, 20 Feb 2016 00:30:32 +0100 + +p7zip-rar (9.20.1~ds.1-4) unstable; urgency=medium + + * Adopting package (closes: #812124). + * Switch to the `3.0 (quilt)' source format. + * Bump debhelper compatibility level to v9 and use minimised debian/rules. + * Refresh the 01-clean-makefile.patch with gbp pq import/export. + * Copy the following patches from p7zip package: + + 03-include-linux-makefile.patch to have makefile.machine include + makefile.linux_any_cpu_gcc_4.X; + + 04-no-strip-by-default.patch to drop the -s flag from gcc options; + + 05-hardening-flags.patch to support $(CPPFLAGS) and not to override + $(CXXFLAGS) and $(CFLAGS). This enables hardening builds. + * debian/control: + + add Vcs-Git and Vcs-Browser fields; + + bump Standards-Version to 3.9.6. + + -- Robert Luberda Sun, 31 Jan 2016 12:20:17 +0100 + +p7zip-rar (9.20.1~ds.1-3) unstable; urgency=low + + * Make package autobuildable. (Closes: #633639) + + -- Mohammed Adnène Trojette Wed, 03 Aug 2011 12:32:40 +0200 + +p7zip-rar (9.20.1~ds.1-2) unstable; urgency=low + + * Upload to unstable. + + -- Mohammed Adnène Trojette Tue, 28 Jun 2011 17:17:12 +0200 + +p7zip-rar (9.20.1~ds.1-1) experimental; urgency=low + + * New upstream release. + + -- Mohammed Adnène Trojette Mon, 04 Apr 2011 18:23:57 +0200 + +p7zip-rar (9.04~ds.1-1) unstable; urgency=low + + * New upstream release. + * Bump Standards-Version to 3.8.2. + + -- Mohammed Adnène Trojette Sat, 27 Jun 2009 16:30:49 +0200 + +p7zip-rar (4.65~ds.1-1) unstable; urgency=low + + * New upstream release. + * Don't use dh_clean with -k option. + + -- Mohammed Adnène Trojette Sat, 14 Feb 2009 20:14:57 +0100 + +p7zip-rar (4.61~ds.1-1) experimental; urgency=low + + * New upstream release. + + -- Mohammed Adnène Trojette Sun, 21 Dec 2008 15:17:59 +0100 + +p7zip-rar (4.58~ds.1-1) unstable; urgency=low + + * New upstream release. + * debian/control: + + bump Standards-Version to 3.8.0. + + bump build-dependency on debhelper 7. + * debian/compat: set compatibility level to 7. + * Add a debian/watch file. + + -- Mohammed Adnène Trojette Sat, 21 Jun 2008 15:33:39 +0200 + +p7zip-rar (4.57~ds.1-1) unstable; urgency=low + + * New upstream release. + * debian/control: + + bump Standards-Version to 3.7.3. + + add Homepage field. + * debian/copyright converted to Unicode. + + -- Mohammed Adnène Trojette Fri, 21 Dec 2007 16:28:58 +0100 + +p7zip-rar (4.55~ds.1-1) unstable; urgency=low + + * New upstream version. + + -- Mohammed Adnène Trojette Fri, 14 Sep 2007 22:44:09 +0200 + +p7zip-rar (4.53~ds.1-1) unstable; urgency=low + + * New upstream version. + + -- Mohammed Adnène Trojette Tue, 11 Sep 2007 16:40:19 +0200 + +p7zip-rar (4.51~ds.1-1) unstable; urgency=low + + * New upstream version. + + -- Mohammed Adnène Trojette Sat, 04 Aug 2007 22:01:25 +0200 + +p7zip-rar (4.47~ds.1-1) unstable; urgency=low + + * New upstream version. + * Refresh dependencies and patch. + * In debian/rules, call + [ ! -f makefile ] || $(MAKE) rar-clean + instead of + -$(MAKE) rar-clean + + -- Mohammed Adnène Trojette Mon, 02 Jul 2007 00:08:43 +0200 + +p7zip-rar (4.45~ds.1-1) unstable; urgency=low + + * New upstream version. + * Bump debhelper compatibility to 5. + + -- Mohammed Adnène Trojette Sun, 22 Apr 2007 12:21:51 +0200 + +p7zip-rar (4.44.ds.1-1) unstable; urgency=low + + * Redo tarball not to clutter .diff.gz. + * Correct dependency on p7zip. + + -- Mohammed Adnène Trojette Tue, 10 Apr 2007 00:39:58 +0200 + +p7zip-rar (4.44-1) unstable; urgency=low + + * New upstream version. + * Initial upload to non-free/unstable. (Closes: #410414) + * Depends on p7zip-full. + * Build-Depend on quilt. + * Patch makefile for build: 01_clean_makefile.diff. + + -- Mohammed Adnène Trojette Mon, 12 Feb 2007 23:28:05 +0100 + +p7zip-rar (4.33-1) unstable; urgency=low + + * New upstream release + * Depends on p7zip (= 4.33.dfsg-1) + + -- Mohammed Adnène Trojette Fri, 10 Feb 2006 23:13:13 +0100 + +p7zip-rar (4.30-1) unstable; urgency=low + + * New upstream release + + -- Mohammed Adnène Trojette Sun, 27 Nov 2005 15:42:53 +0100 + +p7zip-rar (4.29-2) unstable; urgency=low + + * Depends on p7zip >= 4.29.dfsg-1 + + -- Mohammed Adnène Trojette Thu, 24 Nov 2005 01:34:17 +0100 + +p7zip-rar (4.29-1) unstable; urgency=low + + * New upstream version + + -- Mohammed Adnène Trojette Sat, 8 Oct 2005 00:34:45 +0200 + +p7zip-rar (4.27-1) unstable; urgency=low + + * Initial release + + -- Mohammed Adnène Trojette Tue, 20 Sep 2005 19:24:47 +0000 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..7ac1983 --- /dev/null +++ b/debian/control @@ -0,0 +1,23 @@ +Source: p7zip-rar +Section: non-free/utils +Priority: optional +Maintainer: Robert Luberda +Build-Depends: debhelper (>= 9), yasm [amd64], yasm [i386] +XS-Autobuild: yes +Standards-Version: 3.9.8 +Homepage: http://p7zip.sourceforge.net/ +Vcs-Git: https://anonscm.debian.org/git/users/robert/p7zip-rar.git +Vcs-Browser: https://anonscm.debian.org/cgit/users/robert/p7zip-rar.git + +Package: p7zip-rar +Architecture: any +Depends: p7zip-full (>= ${source:Upstream-Version}~), + p7zip-full (<< ${source:Upstream-Version}.~), + ${misc:Depends}, + ${shlibs:Depends} +Description: non-free rar module for p7zip + p7zip is the Unix port of 7-Zip, a file archiver that archives with + very high compression ratios. + . + p7zip-rar provides a module for p7zip-full to make 7z able to + extract RAR files. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..86b82f4 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,81 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: Igor Pavlov +Source: https://sourceforge.net/projects/p7zip/ + +Files: * +Copyright: 1999-2015, Igor Pavlov +License: LGPL-2.1+ + +Files: CPP/7zip/Compress/Rar* + DOC/unRarLicense.txt +Copyright: 1999-2015, Igor Pavlov +License: LGPL-2.1+ and unRAR + +Files: contrib/* +Copyright: 2004, Sergiy Niskorodov (sgh at mail dot zp dot ua) +License: GPL-2+ + +Files: debian/* +Copyright: 2016, Robert Luberda + 2004-2012, Mohammed Adnè Trojette +License: GPL-2+ + +License: GPL-2+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991, or (at + your option) any later version. + . + On Debian systems, the complete text of version 2 of the GNU General + Public License can be found in '/usr/share/common-licenses/GPL-2'. + +License: LGPL-2.1+ + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by the + Free Software Foundation; version 2.1 of the License, or (at + your option) any later version. + . + On Debian systems, the complete text of version 2.1 of the GNU Lesser + General Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. + +License: unRAR + ****** ***** ****** unRAR - free utility for RAR archives + ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ****** ******* ****** License for use and distribution of + ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ** ** ** ** ** ** FREE portable version + ~~~~~~~~~~~~~~~~~~~~~ + . + The source code of unRAR utility is freeware. This means: + . + 1. All copyrights to RAR and the utility unRAR are exclusively + owned by the author - Alexander Roshal. + . + 2. The unRAR sources may be used in any software to handle RAR + archives without limitations free of charge, but cannot be used + to re-create the RAR compression algorithm, which is proprietary. + Distribution of modified unRAR sources in separate form or as a + part of other software is permitted, provided that it is clearly + stated in the documentation and source comments that the code may + not be used to develop a RAR (WinRAR) compatible archiver. + . + 3. The unRAR utility may be freely distributed. No person or company + may charge a fee for the distribution of unRAR without written + permission from the copyright holder. + . + 4. THE RAR ARCHIVER AND THE UNRAR UTILITY ARE DISTRIBUTED "AS IS". + NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT + YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, + DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING + OR MISUSING THIS SOFTWARE. + . + 5. Installing and using the unRAR utility signifies acceptance of + these terms and conditions of the license. + . + 6. If you don't agree with terms of the license you must remove + unRAR files from your storage devices and cease to use the + utility. + . + Thank you for your interest in RAR and unRAR. + . + Alexander L. Roshal diff --git a/debian/patches/01-clean-makefile.patch b/debian/patches/01-clean-makefile.patch new file mode 100644 index 0000000..82c932f --- /dev/null +++ b/debian/patches/01-clean-makefile.patch @@ -0,0 +1,255 @@ +From: Robert Luberda +Date: Fri, 22 Jan 2016 00:47:56 +0100 +Subject: Clean makefile + +--- + makefile | 87 +++-------------------------------- + makefile.common | 139 -------------------------------------------------------- + 2 files changed, 6 insertions(+), 220 deletions(-) + +diff --git a/makefile b/makefile +index 745c8ed..c176a60 100644 +--- a/makefile ++++ b/makefile +@@ -1,85 +1,10 @@ ++.PHONY: all rar clean + + include makefile.common + +-test_lib: common +- $(MAKE) -C CPP/myWindows all +- +-other: common +- $(MAKE) -C Utils/CPUTest/MemLat all +- $(MAKE) -C Utils/CPUTest/PipeLen all +- $(MAKE) -C CPP/7zip/UI/P7ZIP all +- $(MAKE) -C CPP/7zip/TEST/TestUI all +- +-other2: +- $(MAKE) -C CPP/7zip/Bundles/AloneGCOV all +- +-7za: common +- $(MAKE) -C CPP/7zip/Bundles/Alone all +- +-7zr: common +- $(MAKE) -C CPP/7zip/Bundles/Alone7z all +- +-Client7z: common +- $(MKDIR) bin/Codecs +- $(MAKE) -C CPP/7zip/Bundles/Format7zFree all +- $(MAKE) -C CPP/7zip/UI/Client7z all +- +-depend: +- $(MAKE) -C CPP/7zip/Bundles/Alone depend +- $(MAKE) -C CPP/7zip/Bundles/Alone7z depend +- $(MAKE) -C CPP/7zip/Bundles/SFXCon depend +- $(MAKE) -C CPP/7zip/UI/Client7z depend +- $(MAKE) -C CPP/7zip/UI/Console depend +- $(MAKE) -C CPP/7zip/Bundles/Format7zFree depend +- $(MAKE) -C CPP/7zip/Compress/Rar depend +- $(MAKE) -C CPP/7zip/UI/GUI depend +- $(MAKE) -C CPP/7zip/UI/FileManager depend +- +-sfx: common +- $(MKDIR) bin +- $(MAKE) -C CPP/7zip/Bundles/SFXCon all +- +-common7z:common +- $(MKDIR) bin/Codecs +- $(MAKE) -C CPP/7zip/Bundles/Format7zFree all +- $(MAKE) -C CPP/7zip/Compress/Rar all +- +-lzham:common +- $(MKDIR) bin/Codecs +- $(MAKE) -C CPP/7zip/Compress/Lzham all +- +-7z: common7z +- $(MAKE) -C CPP/7zip/UI/Console all +- +-7zG: common7z LangAndHelp +- $(MAKE) -C CPP/7zip/UI/GUI all +- +-7zFM: common7z LangAndHelp +- $(MAKE) -C CPP/7zip/UI/FileManager all +- +-clean_C: +- $(MAKE) -C CPP/myWindows clean +- $(MAKE) -C CPP/7zip/Bundles/Alone clean +- $(MAKE) -C CPP/7zip/Bundles/Alone7z clean +- $(MAKE) -C CPP/7zip/Bundles/SFXCon clean +- $(MAKE) -C CPP/7zip/UI/Client7z clean +- $(MAKE) -C CPP/7zip/UI/Console clean +- $(MAKE) -C CPP/7zip/UI/FileManager clean +- $(MAKE) -C CPP/7zip/UI/GUI clean +- $(MAKE) -C CPP/7zip/Bundles/Format7zFree clean +- $(MAKE) -C CPP/7zip/Compress/Rar clean +- $(MAKE) -C CPP/7zip/Compress/Lzham clean +- $(MAKE) -C CPP/7zip/Bundles/LzmaCon clean2 +- $(MAKE) -C CPP/7zip/Bundles/AloneGCOV clean +- $(MAKE) -C CPP/7zip/TEST/TestUI clean +- $(MAKE) -C CPP/ANDROID clean +- $(MAKE) -C Utils/CPUTest/MemLat clean +- $(MAKE) -C Utils/CPUTest/PipeLen clean +- $(MAKE) -C CPP/7zip/UI/P7ZIP clean +- +-LzmaCon: +- $(MAKE) -C CPP/7zip/Bundles/LzmaCon +- +-test_LzmaCon: +- $(MAKE) -C CPP/7zip/Bundles/LzmaCon test ++all rar: ++ $(MKDIR) bin bin/Codecs ++ $(MAKE) -C CPP/7zip/Compress/Rar all + ++clean: ++ $(MAKE) -C CPP/7zip/Compress/Rar clean +diff --git a/makefile.common b/makefile.common +index d8f6e16..1912ba7 100644 +--- a/makefile.common ++++ b/makefile.common +@@ -6,145 +6,6 @@ DEST_SHARE=$(DEST_HOME)/lib/p7zip + DEST_SHARE_DOC=$(DEST_HOME)/share/doc/p7zip + DEST_MAN=$(DEST_HOME)/man + +-.PHONY: default all all2 7za 7zG 7zFM sfx 7z 7zr Client7z common common7z LangAndHelp tar_bin depend test test_7z test_7zr test_7zG test_Client7z LzmaCon test_LzmaCon all_test app cppcheck lzham test_lib other +- +-.PHONY: clean clean_full clean_C +- + include makefile.machine + +-default:7za +- +-all:7za sfx +- +-all2: all 7z +- +-all3: all2 7zr +- +-all4: all3 Client7z LzmaCon lzham test_lib +- +-all4bis: all3 Client7z LzmaCon test_lib # lzham not supported on x32 CPU. +- +-all5: all4 7zG 7zFM +- +-all6: all5 other +- +-all_all : all6 +- +-all_test : test test_7z test_7zr test_LzmaCon test_Client7z +- +-all_test2 : all_test test_7zG +- +-common: +- $(MKDIR) bin +- +-app: common 7zFM 7zG 7z sfx +- rm -fr p7zip.app +- $(MKDIR) p7zip.app +- cp -rp GUI/Contents p7zip.app/ +- $(MKDIR) p7zip.app/Contents +- $(MKDIR) p7zip.app/Contents/MacOS +- cp bin/7zFM_do_not_use p7zip.app/Contents/MacOS/ +- cp bin/7zG p7zip.app/Contents/MacOS/ +- cp bin/7z.so p7zip.app/Contents/MacOS/ +- cp bin/7zCon.sfx p7zip.app/Contents/MacOS/ +- cp -rp bin/Codecs p7zip.app/Contents/MacOS/ +- cp -rp GUI/Lang p7zip.app/Contents/MacOS/ +- cp -rp DOC/MANUAL p7zip.app/Contents/MacOS/help +- +-LangAndHelp: +- cd bin ; rm -f Lang ; ln -s ../GUI/Lang . +- cd bin ; rm -f help ; ln -s ../DOC/MANUAL help +- +-clean: clean_C +- rm -fr bin +- rm -fr p7zip.app +- rm -f Lang +- rm -fr CPP/7zip/P7ZIP.* +- rm -fr CPP/7zip/CMAKE/P7ZIP.* +- rm -fr CPP/7zip/PREMAKE/P7ZIP.* +- rm -f CPP/7zip/QMAKE/*/*.o +- rm -f CPP/7zip/QMAKE/*/Makefile +- rm -f CPP/7zip/QMAKE/*/*.pro.user +- rm -f CPP/7zip/QMAKE/*/*.x +- -find . -name "build*" -exec rm -fr {} \; +- -find . -name "*-build-*" -exec rm -fr {} \; +- -find . -name "*.user" -exec rm -f {} \; +- -find . -name "._*" -exec rm -f {} \; +- rm -fr CPP/7zip/ANDROID/libs +- rm -fr CPP/7zip/ANDROID/obj +- rm -f make.log 1 2 cppcheck.out scan-build.out +- rm -f check/7z.so +- rm -fr p7zip.app/Contents/MacOS +- cd check ; ./clean_all.sh +- +- +-clean_full:clean +- find . -name "makefile.depend" -exec rm -f {} \; -exec touch {} \; # empty makefile.depend +- find . -name "*~" -exec rm -f {} \; +- find . -name "*.orig" -exec rm -fr {} \; # kdiff3 merge +- find . -name ".*.swp" -exec rm -f {} \; +- find . -name "*.i" -exec rm -f {} \; +- find . -name "*.s" -exec rm -f {} \; +- find . -name ".DS_Store" -exec rm -f {} \; # MacOSX +- find . -name "._*" -exec rm -f {} \; # MacOSX +- find . -name "*.pyc" -exec rm -f {} \; +- find . -name "*.[ch]" -exec chmod -x {} \; +- find . -name "*.cpp" -exec chmod -x {} \; +- find . -name "*.asm" -exec chmod -x {} \; +- find . -name "makefile*" -exec chmod -x {} \; +- chmod -x ChangeLog README TODO man1/* DOC/*.txt +- chmod +x contrib/VirtualFileSystemForMidnightCommander/u7z +- chmod +x contrib/gzip-like_CLI_wrapper_for_7z/p7zip +- chmod +x install.sh check/*.sh +- +-test: 7za sfx +- cd check ; TOOLS="${TOOLS}" ./check.sh "`pwd`/../bin/7za" +- +-test_7z: 7z sfx +- cd check ; TOOLS="${TOOLS}" ./check.sh "`pwd`/../bin/7z" +- +-test_7zr: 7zr sfx +- cd check ; TOOLS="${TOOLS}" ./check_7zr.sh "`pwd`/../bin/7zr" +- +-test_7zG: 7zG sfx +- cd check ; TOOLS="${TOOLS}" ./check.sh "`pwd`/../bin/7zG" +- +-test_Client7z: Client7z +- cd check ; TOOLS="${TOOLS}" ./check_Client7z.sh "`pwd`/../bin/Client7z" +- +-install: +- ./install.sh $(DEST_BIN) $(DEST_SHARE) $(DEST_MAN) $(DEST_SHARE_DOC) $(DEST_DIR) +- +-# cppcheck -f : test all flags +-cppcheck: +- cppcheck --enable=all -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DNDEBUG -D_REENTRANT -DENV_UNIX -D_7ZIP_LARGE_PAGES -DBREAK_HANDLER -DUNICODE -D_UNICODE . 2>&1 | tee -i cppcheck.out +- +-REP=$(shell pwd) +-ARCHIVE=$(shell basename $(REP)) +- +-.PHONY: tar_all tar_all2 src_7z tar_bin tar_bin2 +- +-tar_all : clean_full +- rm -f ../$(ARCHIVE)_src_all.tar.bz2 +- cp makefile.linux_any_cpu makefile.machine +- cd .. ; (tar cf - $(ARCHIVE) | bzip2 -9 > $(ARCHIVE)_src_all.tar.bz2) +- +-tar_all2 : clean_full +- rm -f ../$(ARCHIVE)_src_all.tar.bz2 +- cp makefile.linux_any_cpu makefile.machine +- cd .. ; (tar cf - $(ARCHIVE) | 7za a -mx=9 -tbzip2 -si $(ARCHIVE)_src_all.tar.bz2 ) +- +-src_7z : clean_full +- rm -f ../$(ARCHIVE)_src.7z +- cd .. ; 7za a -mx=9 -m0=ppmd:mem=128m:o=32 $(ARCHIVE)_src.7z $(ARCHIVE) +- +-tar_bin: +- rm -f ../$(ARCHIVE)_x86_linux_bin.tar.bz2 +- chmod +x install.sh contrib/VirtualFileSystemForMidnightCommander/u7z contrib/gzip-like_CLI_wrapper_for_7z/p7zip +- cd .. ; (tar cf - $(ARCHIVE)/bin $(ARCHIVE)/contrib $(ARCHIVE)/man1 $(ARCHIVE)/install.sh $(ARCHIVE)/ChangeLog $(ARCHIVE)/DOC $(ARCHIVE)/README $(ARCHIVE)/TODO | bzip2 -9 > $(ARCHIVE)_x86_linux_bin.tar.bz2) +- +-tar_bin2: +- rm -f ../$(ARCHIVE)_x86_linux_bin.tar.bz2 +- chmod +x install.sh contrib/VirtualFileSystemForMidnightCommander/u7z contrib/gzip-like_CLI_wrapper_for_7z/p7zip +- cd .. ; (tar cf - $(ARCHIVE)/bin $(ARCHIVE)/contrib $(ARCHIVE)/man1 $(ARCHIVE)/install.sh $(ARCHIVE)/ChangeLog $(ARCHIVE)/DOC $(ARCHIVE)/README $(ARCHIVE)/TODO | 7za a -mx=9 -tbzip2 -si $(ARCHIVE)_x86_linux_bin.tar.bz2) + diff --git a/debian/patches/03-include-linux-makefile.patch b/debian/patches/03-include-linux-makefile.patch new file mode 100644 index 0000000..48f4652 --- /dev/null +++ b/debian/patches/03-include-linux-makefile.patch @@ -0,0 +1,82 @@ +From: Robert Luberda +Date: Fri, 22 Jan 2016 11:16:14 +0100 +Subject: Include linux makefile + +Include appropriate makefile from makefile.machine + - makefile.linux_x86_asm_gcc_4.X on i386; + - makefile.linux_amd64_asm on amd64; + - makefile.linux_any_cpu_gcc_4.X otherwise. + +Update makefile.linux_amd64_asm to have the same visibility +flags as the *gcc_4.X makefiles. + +Update makefile.linux_x86_asm_gcc_4.X to use yasm instead +of nasm. +--- + makefile.linux_amd64_asm | 3 +++ + makefile.linux_x86_asm_gcc_4.X | 2 +- + makefile.machine | 20 ++++++++++++++++++++ + 3 files changed, 24 insertions(+), 1 deletion(-) + +diff --git a/makefile.linux_amd64_asm b/makefile.linux_amd64_asm +index 075c6a8..223559d 100644 +--- a/makefile.linux_amd64_asm ++++ b/makefile.linux_amd64_asm +@@ -11,6 +11,9 @@ ALLFLAGS=-m64 ${OPTFLAGS} -pipe \ + -D_7ZIP_ASM \ + $(LOCAL_FLAGS) + ++ALLFLAGS_CPP=-DENV_HAVE_GCCVISIBILITYPATCH -fvisibility=hidden -fvisibility-inlines-hidden ++ ++ + CXX=g++ + CC=gcc + CC_SHARED=-fPIC +diff --git a/makefile.linux_x86_asm_gcc_4.X b/makefile.linux_x86_asm_gcc_4.X +index 1ac339b..3b86ccc 100644 +--- a/makefile.linux_x86_asm_gcc_4.X ++++ b/makefile.linux_x86_asm_gcc_4.X +@@ -18,7 +18,7 @@ CXX=g++ + CC=gcc + CC_SHARED=-fPIC + LINK_SHARED=-fPIC -shared +-ASM=nasm -f elf ++ASM=yasm -f elf + + PRE_COMPILED_HEADER=StdAfx.h.gch + +diff --git a/makefile.machine b/makefile.machine +index 9e34c34..715e900 100644 +--- a/makefile.machine ++++ b/makefile.machine +@@ -1,6 +1,25 @@ + # + # makefile for Linux (x86, PPC, alpha ...) + # ++ifeq (1,1) # In debian always include the approrpiate makefile ++ ++ ifndef DEBIAN_P7ZIP_MAKEFILE ++ ++ ifeq (i386,$(DEB_HOST_ARCH)) ++ export DEBIAN_P7ZIP_MAKEFILE := makefile.linux_x86_asm_gcc_4.X ++ else ++ ifeq (amd64.64,$(DEB_HOST_ARCH).$(DEB_HOST_ARCH_BITS)) ++ export DEBIAN_P7ZIP_MAKEFILE := makefile.linux_amd64_asm ++ else ++ export DEBIAN_P7ZIP_MAKEFILE := makefile.linux_any_cpu_gcc_4.X # default ++ endif ++ endif ++ ++ endif ++ ++ include $(dir $(lastword $(MAKEFILE_LIST)))/$(DEBIAN_P7ZIP_MAKEFILE) ++ ++else + + OPTFLAGS=-O -s + +@@ -21,3 +40,4 @@ LOCAL_LIBS_DLL=$(LOCAL_LIBS) -ldl + OBJ_CRC32=$(OBJ_CRC32_C) + OBJ_AES= + ++endif diff --git a/debian/patches/05-hardening-flags.patch b/debian/patches/05-hardening-flags.patch new file mode 100644 index 0000000..aa42431 --- /dev/null +++ b/debian/patches/05-hardening-flags.patch @@ -0,0 +1,33 @@ +From: Robert Luberda +Date: Fri, 22 Jan 2016 00:53:09 +0100 +Subject: Hardening flags + +Add support for $(CPPFLAGS) and do not override $(CXXFLAGS) +and $(CFLAGS) + +Bug-Debian: https://bugs.debian.org/#682167 +--- + makefile.glb | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/makefile.glb b/makefile.glb +index fb001d5..e10ae03 100644 +--- a/makefile.glb ++++ b/makefile.glb +@@ -1,14 +1,14 @@ + + RM=rm -f + +-CFLAGS=-c -I. \ ++CFLAGS+=$(CPPFLAGS) -c -I. \ + -I../../../../C \ + -I../../../../CPP/myWindows \ + -I../../../../CPP/include_windows \ + -I../../../../CPP \ + $(ALLFLAGS) $(ALLFLAGS_C) + +-CXXFLAGS=-c -I. \ ++CXXFLAGS+=$(CPPFLAGS) -c -I. \ + -I../../../../C \ + -I../../../../CPP/myWindows \ + -I../../../../CPP/include_windows \ diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..0bef530 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,3 @@ +01-clean-makefile.patch +03-include-linux-makefile.patch +05-hardening-flags.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..57b5ece --- /dev/null +++ b/debian/rules @@ -0,0 +1,31 @@ +#!/usr/bin/make -f + +DH_AUTO_OPTIONS := -v -Smakefile --parallel + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all,-pie # pie does not work with shared libs + +include /usr/share/dpkg/architecture.mk + +ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) + CC := $(DEB_HOST_GNU_TYPE)-gcc + CXX := $(DEB_HOST_GNU_TYPE)-g++ +else + CC := gcc + CXX := g++ +endif + +%: + dh ${@} + +override_dh_auto_clean: + # Make sure patches are applied otherwise `make clean' fails + # on trying to clean the removed Rar directory (see #769520). + dpkg-source --before-build $(CURDIR) + dh_auto_clean $(DH_AUTO_OPTIONS) -- OPTFLAGS= + rm -rf bin/ + +override_dh_auto_build: + dh_auto_build $(DH_AUTO_OPTIONS) -- OPTFLAGS= rar + +override_dh_auto_install: + dh_install bin/Codecs usr/lib/p7zip diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000..3ad332e --- /dev/null +++ b/debian/source/options @@ -0,0 +1,2 @@ +diff-ignore +tar-ignore diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..c7f6e2e --- /dev/null +++ b/debian/watch @@ -0,0 +1,6 @@ +# format version number, currently 3; this line is compulsory! +version=3 + +# Line continuations are performed with \ +opts=dversionmangle=s/\.ds\.\d+$// \ + http://qa.debian.org/watch/sf.php/p7zip/p7zip_(.*)_src_all.tar.bz2 debian uupdate