diff -Nru nsis-3.05/debian/changelog nsis-3.05/debian/changelog --- nsis-3.05/debian/changelog 2020-03-23 06:21:01.000000000 +0000 +++ nsis-3.05/debian/changelog 2020-03-31 18:05:25.000000000 +0000 @@ -1,8 +1,24 @@ -nsis (3.05-1build1) focal; urgency=medium +nsis (3.05-2) unstable; urgency=medium - * No-change rebuild for libgcc-s1 package name change. + [ Thomas Gaugler ] + * d/control: Switch to secure (HTTPS) homepage + * d/control: Set Rules-Requires-Root to no + * Consistent use of flags in test and install targets + * Remove build directory instead of clean up via Scons + * Reduce build scope by skipping plugins and stubs for host tools + * Removal of LibraryLocal man page + * Propagate CCACHE_DIR and SOURCE_DATE_EPOCH environment variables to + SCons build system for ccache and reproducible builds + * Python 3 fixes + * Split suffixes prepended with + or ~ from version + * Remove __pycache__ directory during clean - -- Matthias Klose Mon, 23 Mar 2020 07:21:01 +0100 + [ Didier Raboud ] + * Add Salsa CI pipeline config + * Bump Standards-Version to 4.5 without changes needed + * Discard .pyc files after clean (Closes: #952269) + + -- Thomas Gaugler Tue, 31 Mar 2020 20:05:25 +0200 nsis (3.05-1) unstable; urgency=medium diff -Nru nsis-3.05/debian/control nsis-3.05/debian/control --- nsis-3.05/debian/control 2020-01-15 08:42:48.000000000 +0000 +++ nsis-3.05/debian/control 2020-03-31 18:05:25.000000000 +0000 @@ -13,10 +13,11 @@ xsltproc, zlib1g-dev, debhelper-compat (= 12) -Standards-Version: 4.4.1 +Standards-Version: 4.5.0 +Rules-Requires-Root: no Vcs-Browser: https://salsa.debian.org/debian/nsis Vcs-Git: https://salsa.debian.org/debian/nsis.git -Homepage: http://nsis.sourceforge.net/ +Homepage: https://nsis.sourceforge.io/ Package: nsis Architecture: any diff -Nru nsis-3.05/debian/LibraryLocal.xml nsis-3.05/debian/LibraryLocal.xml --- nsis-3.05/debian/LibraryLocal.xml 2020-01-15 08:42:48.000000000 +0000 +++ nsis-3.05/debian/LibraryLocal.xml 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ - - - - - - - "> - - - - -]> - - - - &package; manual -
- &email; -
- - - &firstname; - &surname; - - This manual page was written by &username; -&email; for the &debian; system. - - - - 2007 - &username; - - &date; -
- - &ucpackage; - §ion; - &package; manual - - - &package; - A program to get version numbers from DLL files for use with NSIS. - - - - &package; - - - - - - - DESCRIPTION - This manual page documents briefly the - &package; command. - This manual page was written for the &debian; distribution - because the original program does not have a manual page. - &package; is a part of NSIS, which is a system for creating installer programs for Windows. - - - OPTIONS - All three arguments are required. - - - - - 'D' for DLLs or 'T' for TLBs (only supported on Windows). - - - - - - The DLL/TLB file to get the version number from. - - - - - - The name of the NSIS script file to output for use by the Library.nsh files. - - - - - - EXIT STATUS - - - 0 - - Success - - - - 1 - - Incorrect number of arguments - - - - -
diff -Nru nsis-3.05/debian/nsis.manpages nsis-3.05/debian/nsis.manpages --- nsis-3.05/debian/nsis.manpages 2020-01-15 08:42:48.000000000 +0000 +++ nsis-3.05/debian/nsis.manpages 2020-03-31 18:05:25.000000000 +0000 @@ -1,3 +1,2 @@ build/GenPat.1 -build/LibraryLocal.1 build/makensis.1 diff -Nru nsis-3.05/debian/patches/propagate-environment-vars.patch nsis-3.05/debian/patches/propagate-environment-vars.patch --- nsis-3.05/debian/patches/propagate-environment-vars.patch 1970-01-01 00:00:00.000000000 +0000 +++ nsis-3.05/debian/patches/propagate-environment-vars.patch 2020-03-31 18:05:25.000000000 +0000 @@ -0,0 +1,58 @@ + +Description: Propagate environment variables + Propagate CCACHE_DIR and SOURCE_DATE_EPOCH environment variables to + SCons build system. +Bug: https://sourceforge.net/p/nsis/patches/294/ +Author: Thomas Gaugler + +diff --git a/SConstruct b/SConstruct +index e8252c9..e419ef9 100755 +--- a/SConstruct ++++ b/SConstruct +@@ -64,20 +64,29 @@ doctypes = [ + ####### Build Environment ### + ###################################################################### + ++import os + path = ARGUMENTS.get('PATH', '') + toolset = ARGUMENTS.get('TOOLSET', '') +-arch = ARGUMENTS.get('TARGET_ARCH', 'x86') ++defenv = { ++ 'TARGET_ARCH': ARGUMENTS.get('TARGET_ARCH', 'x86'), ++ 'ENV': {} ++} + +-if toolset and path: +- defenv = Environment(TARGET_ARCH = arch, ENV = {'PATH' : path}, TOOLS = toolset.split(',') + ['zip']) ++for key in ['CCACHE_DIR', 'SOURCE_DATE_EPOCH']: ++ if key in os.environ: ++ defenv['ENV'][key] = os.environ[key] ++if path: ++ defenv['ENV']['PATH'] = path ++elif len(defenv['ENV']) == 0: ++ del defenv['ENV'] + else: +- if path: +- defenv = Environment(TARGET_ARCH = arch, ENV = {'PATH' : path}) +- if toolset: +- defenv = Environment(TARGET_ARCH = arch, TOOLS = toolset.split(',') + ['zip']) +-if not toolset and not path: +- defenv = Environment(TARGET_ARCH = arch) ++ # Propgate PATH if at least one environment variable is set ++ defenv['ENV']['PATH'] = os.environ['PATH'] + ++if toolset: ++ defenv['TOOLS'] = toolset.split(',') + ['zip'] ++ ++defenv = Environment(**defenv) + Export('defenv') + + ###################################################################### +@@ -90,7 +99,6 @@ SConscript('SCons/utils.py') + ####### Options ### + ###################################################################### + +-import os + default_doctype = 'html' + if defenv.WhereIs('hhc', os.environ['PATH']): + default_doctype = 'chm' diff -Nru nsis-3.05/debian/patches/py3-fixes.patch nsis-3.05/debian/patches/py3-fixes.patch --- nsis-3.05/debian/patches/py3-fixes.patch 1970-01-01 00:00:00.000000000 +0000 +++ nsis-3.05/debian/patches/py3-fixes.patch 2020-03-31 18:05:25.000000000 +0000 @@ -0,0 +1,63 @@ +Description: Python 3 fixes +Origin: https://sourceforge.net/p/nsis/patches/296/attachment/py3-fixes.patch +Bug: https://sourceforge.net/p/nsis/patches/296 +Applied-Upstream: https://sourceforge.net/p/nsis/code/7161/ + +diff --git a/Contrib/Graphics/SConscript b/Contrib/Graphics/SConscript +index b8588d7..0f9fbe2 100755 +--- a/Contrib/Graphics/SConscript ++++ b/Contrib/Graphics/SConscript +@@ -90,8 +90,8 @@ wizards = Split(""" + + Import('defenv') + +-def join(prefix, list): +- return map(lambda x: '%s/%s' % (prefix, x), list) ++def join(prefix, list_): ++ return list(map(lambda x: '%s/%s' % (prefix, x), list_)) + + def dist(dir, files): + defenv.DistributeContrib(join(dir, files), path='Graphics/%s' % dir) +diff --git a/Contrib/Modern UI 2/SConscript b/Contrib/Modern UI 2/SConscript +index a3d9083..abab407 100755 +--- a/Contrib/Modern UI 2/SConscript ++++ b/Contrib/Modern UI 2/SConscript +@@ -34,8 +34,8 @@ pages = Split(""" + + Import('defenv') + +-def join(prefix, list): +- return map(lambda x: '%s/%s' % (prefix, x), list) ++def join(prefix, list_): ++ return list(map(lambda x: '%s/%s' % (prefix, x), list_)) + + defenv.DistributeDocs(docs, path=target) + defenv.DistributeDocs(join('../Modern UI/images',doc_images), path='%s/%s'%(target,'images')) +diff --git a/Contrib/Modern UI/SConscript b/Contrib/Modern UI/SConscript +index 551aa78..fa3d129 100755 +--- a/Contrib/Modern UI/SConscript ++++ b/Contrib/Modern UI/SConscript +@@ -22,8 +22,8 @@ contribs = Split(""" + + Import('defenv') + +-def join(prefix, list): +- return map(lambda x: '%s/%s' % (prefix, x), list) ++def join(prefix, list_): ++ return list(map(lambda x: '%s/%s' % (prefix, x), list_)) + + defenv.DistributeDocs(docs, path=target) + path = 'images' +diff --git a/SConstruct b/SConstruct +index e8252c9..01915c9 100755 +--- a/SConstruct ++++ b/SConstruct +@@ -366,7 +366,7 @@ defenv.Execute(Delete('$TESTDISTDIR')) + def Distribute(files, names, component, path, subpath, alias, install_alias=None): + files = MakeFileList(files) + +- names = names or map(lambda x: x.name, files) ++ names = names or list(map(lambda x: x.name, files)) + if isinstance(names, str): + names = [names] + diff -Nru nsis-3.05/debian/patches/series nsis-3.05/debian/patches/series --- nsis-3.05/debian/patches/series 2020-01-15 08:42:48.000000000 +0000 +++ nsis-3.05/debian/patches/series 2020-03-31 18:05:25.000000000 +0000 @@ -1,4 +1,5 @@ # list of patch file names in the order they are applied -source_date_epoch.patch +py3-fixes.patch +propagate-environment-vars.patch fix-unaligned-access.patch keep-seh.patch diff -Nru nsis-3.05/debian/patches/source_date_epoch.patch nsis-3.05/debian/patches/source_date_epoch.patch --- nsis-3.05/debian/patches/source_date_epoch.patch 2020-01-15 08:42:48.000000000 +0000 +++ nsis-3.05/debian/patches/source_date_epoch.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,54 +0,0 @@ -Description: Propgate SOURCE_DATE_EPOCH environment variable -Bug: https://sourceforge.net/p/nsis/patches/294/ -Author: Thomas Gaugler - -Index: SConstruct -=================================================================== ---- a/SConstruct (revision 7102) -+++ b/SConstruct (working copy) -@@ -64,20 +64,28 @@ - ####### Build Environment ### - ###################################################################### - -+import os - path = ARGUMENTS.get('PATH', '') - toolset = ARGUMENTS.get('TOOLSET', '') --arch = ARGUMENTS.get('TARGET_ARCH', 'x86') -+defenv = { -+ 'TARGET_ARCH': ARGUMENTS.get('TARGET_ARCH', 'x86'), -+ 'ENV': {} -+} - --if toolset and path: -- defenv = Environment(TARGET_ARCH = arch, ENV = {'PATH' : path}, TOOLS = toolset.split(',') + ['zip']) -+if 'SOURCE_DATE_EPOCH' in os.environ: -+ defenv['ENV']['SOURCE_DATE_EPOCH'] = os.environ['SOURCE_DATE_EPOCH'] -+if path: -+ defenv['ENV']['PATH'] = path -+elif len(defenv['ENV']) == 0: -+ del defenv['ENV'] - else: -- if path: -- defenv = Environment(TARGET_ARCH = arch, ENV = {'PATH' : path}) -- if toolset: -- defenv = Environment(TARGET_ARCH = arch, TOOLS = toolset.split(',') + ['zip']) --if not toolset and not path: -- defenv = Environment(TARGET_ARCH = arch) -+ # Propgate PATH if at least one environment variable is set -+ defenv['ENV']['PATH'] = os.environ['PATH'] - -+if toolset: -+ defenv['TOOLS'] = toolset.split(',') + ['zip'] -+ -+defenv = Environment(**defenv) - Export('defenv') - - ###################################################################### -@@ -90,7 +98,6 @@ - ####### Options ### - ###################################################################### - --import os - default_doctype = 'html' - if defenv.WhereIs('hhc', os.environ['PATH']): - default_doctype = 'chm' diff -Nru nsis-3.05/debian/rules nsis-3.05/debian/rules --- nsis-3.05/debian/rules 2020-01-15 08:42:48.000000000 +0000 +++ nsis-3.05/debian/rules 2020-03-31 18:05:25.000000000 +0000 @@ -23,7 +23,7 @@ define SPLIT $(if $(2),$(call SPLIT,$(subst $(firstword $(2)), ,$(1)),$(filter-out $(firstword $(2)), $(2))), $(1)) endef -VERSION_DECOMPOSED=$(call SPLIT,$(VERSION),. -) +VERSION_DECOMPOSED=$(call SPLIT,$(VERSION),. - + ~) VER_MAJOR=$(firstword $(VERSION_DECOMPOSED)) VER_MINOR=$(word 2,$(VERSION_DECOMPOSED)) VER_REVISION=$(word 3,$(VERSION_DECOMPOSED)) @@ -93,14 +93,11 @@ IGNORE_UTILS_COMMON := $(subst Library/RegTool,,$(UTILS_ALL)) IGNORE_UTILS_COMMON := $(subst $(COMMA)UIs,,$(IGNORE_UTILS_COMMON)) -# Clean everything except zip2exe pulling in a dependency on win32 zlib dll -IGNORE_UTILS_CLEAN := zip2exe - SCONSOPTS_HOST := $(SCONSHOSTFLAGS) $(SCONSOPTS) \ + SKIPPLUGINS=all SKIPSTUBS=all \ SKIPUTILS=$(IGNORE_UTILS_NSIS) SKIPDOC=COPYING SCONSOPTS_COMMON := $(SCONSOPTS) SKIPUTILS=$(IGNORE_UTILS_COMMON) \ SKIPDOC=COPYING -SCONSOPTS_CLEAN := $(SCONSOPTS) SKIPUTILS=$(IGNORE_UTILS_CLEAN) INSTALL_nsis = install-utils install-compiler install-conf INSTALL_FLAGS_nsis = $(SCONSOPTS_HOST) @@ -108,8 +105,9 @@ INSTALL_FLAGS_nsis-common = $(SCONSOPTS_COMMON) INSTALL_nsis-pluginapi = install-pluginapi INSTALL_FLAGS_nsis-pluginapi = $(SCONSOPTS_COMMON) -INSTALL_nsis-doc = install-examples install-doc -INSTALL_FLAGS_nsis-doc = $(SCONSOPTS_HOST) +INSTALL_nsis-doc = install-examples install-doc install-docs +INSTALL_FLAGS_nsis-doc = $(SCONSHOSTFLAGS) $(SCONSOPTS) \ + SKIPUTILS=$(IGNORE_UTILS_COMMON) SKIPDOC=COPYING # Exclude test scripts which are not appropriate for POSIX platforms. IGNORE_TESTS = makensis.nsi|gfx.nsi @@ -149,8 +147,9 @@ dh "$@" override_dh_auto_clean: - scons -c $(SCONSOPTS_CLEAN) 2>&1 - -rm -rf .sconf_temp .sconsign.dblite SCons/Tools/crossmingw.pyc build config.log .test $(TESTDIR) + # Remove build directory instead of removing target files + # via Scons due to pull in of dependencies. + -rm -rf .sconf_temp .sconsign.dblite SCons/Tools/__pycache__ SCons/Tools/crossmingw.pyc build config.log .test $(BUILDDIR) $(TESTDIR) -rm -f Source/exehead/sconf.h Source/version.h Source/defines.h config.log $(BUILDDIR)/NEWS: @@ -162,7 +161,7 @@ $(BUILDDIR)/%.1: debian/%.xml xsltproc --nonet --output $@ $< -override_dh_auto_build-arch: $(BUILDDIR)/NEWS $(BUILDDIR)/GenPat.1 $(BUILDDIR)/LibraryLocal.1 $(BUILDDIR)/makensis.1 +override_dh_auto_build-arch: $(BUILDDIR)/NEWS $(BUILDDIR)/GenPat.1 $(BUILDDIR)/makensis.1 scons $(SCONSOPTS_HOST) utils makensis override_dh_auto_build-indep: $(BUILDDIR)/NEWS @@ -191,11 +190,13 @@ override_dh_auto_test-indep: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) test -x "$(BUILDDIR)/$(BUILDTYPE)/makensis/makensis" && \ - scons $(SCONSOPTS_HOST) PREFIX_DEST="$(TESTDIR)"\ - $(INSTALL_nsis) && \ - scons $(SCONSOPTS_COMMON) $(SCONSOPTS_X86) PREFIX_DEST="$(TESTDIR)" \ - $(INSTALL_nsis-common) $(INSTALL_nsis-doc) && \ - scons $(SCONSOPTS_COMMON) $(SCONSOPTS_AMD64) PREFIX_DEST="$(TESTDIR)" \ + scons $(INSTALL_FLAGS_nsis) PREFIX_DEST="$(TESTDIR)"\ + install-compiler install-conf && \ + scons $(INSTALL_FLAGS_nsis-doc) PREFIX_DEST="$(TESTDIR)"\ + install-examples && \ + scons $(INSTALL_FLAGS_nsis-common) $(SCONSOPTS_X86) PREFIX_DEST="$(TESTDIR)" \ + $(INSTALL_nsis-common) && \ + scons $(INSTALL_FLAGS_nsis-common) $(SCONSOPTS_AMD64) PREFIX_DEST="$(TESTDIR)" \ $(INSTALL_nsis-common) && \ $(call SANITIZE_MODERN_UI,$(TESTDIR)$(DOCDIR)/Examples/Modern UI) && \ for script_path in $(TESTDIR)$(SCRIPTS_PATH)/*.nsi \ diff -Nru nsis-3.05/debian/salsa-ci.yml nsis-3.05/debian/salsa-ci.yml --- nsis-3.05/debian/salsa-ci.yml 1970-01-01 00:00:00.000000000 +0000 +++ nsis-3.05/debian/salsa-ci.yml 2020-03-31 18:05:25.000000000 +0000 @@ -0,0 +1,4 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml