Package: supercat
Version: 0.5.5-4
Severity: normal
Tags: patch pending

Dear maintainer,

I've prepared an NMU for supercat (versioned as 0.5.5-4.1). The diff
is attached to this message.

Regards.
craig

-- 
craig sanders <c...@taz.net.au>
diff -Nru supercat-0.5.5/debian/changelog supercat-0.5.5/debian/changelog
--- supercat-0.5.5/debian/changelog	2009-12-17 14:02:04.000000000 +1100
+++ supercat-0.5.5/debian/changelog	2016-08-02 18:50:07.000000000 +1000
@@ -1,3 +1,20 @@
+supercat (0.5.5-4.1) unstable; urgency=medium
+
+  * Non-maintainer upload
+  * applied patch from Maria Valentina Marin <marival...@gmail.com> to make
+    the mtimes reproducible (Closes: #793725)
+  * applied patch from Chris Lamb <la...@debian.org> to make the build
+    reproducible (Closes: #777396)
+  * fixed to work with input lines >= 1024 characters long (20KB should be
+    plenty for pkg Depends: Lines)
+  * added spcrc-dpkg-l and spcrc-package config files for colourising debian
+    pkg info (Closes: #832079)
+  * modified debian/rules to use latest autoconf and automake. deleted
+    auto-generated files.
+  * modified debian/rules to use dpkg-buildflags for hardening
+
+ -- Craig Sanders <c...@taz.net.au>  Tue, 02 Aug 2016 18:49:51 +1000
+
 supercat (0.5.5-4) unstable; urgency=low
 
   * debian/rules, debian/control:
diff -Nru supercat-0.5.5/debian/patches/nmu1.diff supercat-0.5.5/debian/patches/nmu1.diff
--- supercat-0.5.5/debian/patches/nmu1.diff	1970-01-01 10:00:00.000000000 +1000
+++ supercat-0.5.5/debian/patches/nmu1.diff	2016-08-02 19:10:43.000000000 +1000
@@ -0,0 +1,99 @@
+Description: changes for 0.5.5-4.1
+   * fixed to work with input lines >= 1024 characters long (20KB should be
+     plenty for pkg Depends: Lines)
+   * added spcrc-dpkg-l and spcrc-package config files for colourising debian
+     pkg info (Closes: #832079)
+   * modified debian/rules to use latest autoconf and automake. deleted
+     auto-generated files.
+   * modified debian/rules to use dpkg-buildflags for hardening
+Author: Craig Sanders <c...@taz.net.au>
+Bug-Debian: https://bugs.debian.org/832079
+Forwarded: No
+Last-Update: 2016-08-02
+
+---
+
+--- supercat-0.5.5.orig/configure.ac
++++ supercat-0.5.5/configure.ac
+@@ -1,4 +1,4 @@
+-AC_INIT(supercat, 0.5.5, bug-...@nosredna.net)
++AC_INIT([supercat],[0.5.5],[bug-...@nosredna.net])
+ AM_INIT_AUTOMAKE([-Wall -Werror foreign])
+ AC_LANG([C])
+ AC_PROG_CC
+@@ -20,7 +20,7 @@ AC_MSG_RESULT([$SYSTEM_DIRECTORY])
+ AC_SUBST([SYSTEM_DIRECTORY])
+ #
+ 
+-AM_PROG_INSTALL
++AC_PROG_INSTALL
+ AC_CONFIG_HEADERS([config.h])
+ AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile spcrc/Makefile])
+ AC_OUTPUT
+--- supercat-0.5.5.orig/spcrc/Makefile.am
++++ supercat-0.5.5/spcrc/Makefile.am
+@@ -2,6 +2,7 @@ SUBDIRS = .
+ 
+ instdir = $(SYSTEM_DIRECTORY)
+ spc_doc = spcrc-c spcrc-py spcrc-emerge spcrc-diff spcrc-patch spcrc-ChangeLog \
+-spcrc-gentooconfd spcrc-xorg spcrc-svn spcrc-access_log spcrc-error_log
++spcrc-gentooconfd spcrc-xorg spcrc-svn spcrc-access_log spcrc-error_log \
++spcrc-dpkg-l spcrc-package
+ EXTRA_DIST = $(spc_doc)
+ inst_DATA = $(spc_doc)
+--- /dev/null
++++ supercat-0.5.5/spcrc/spcrc-dpkg-l
+@@ -0,0 +1,22 @@
++#  HTML COLOR NAME   COL A N T STRING or REGULAR EXPRESSION
++#################### ### # # # ################################################################
++# default bold white (I don't like bold much but need to highlight installed vs uninstalled packages)
++White                whi b 1   (.*)
++# Header
++White                whi   1   (^[D|+].*)
++# Versions
++Green                grn   1   [[:space:]]([0-9~:.]{2,}[-+:.0-9a-z~]+)[[:space:]]
++Magenta              mag   1   (<[^:]*>)
++#
++# See `man dpkg-query` for details.
++#
++# Desired
++Red                  red b 1   ^(u[^n])
++White                whi   1   ^(un.*)
++Cyan                 cya   1   ^([h].*)
++White                whi   1   ^([rp][^n].*)
++Magenta              mag   1   ^([rp])[^n]
++# Status
++Magenta              mag   1   ^.([cHUFWt])
++# Errors
++Red                  red b 1   ^([uirph][ncHUFWti]R.*)
+--- /dev/null
++++ supercat-0.5.5/spcrc/spcrc-package
+@@ -0,0 +1,12 @@
++#  HTML COLOR NAME   COL A N T STRING or REGULAR EXPRESSION
++#################### ### # # # ################################################################
++# field names
++Green                grn       (^[^ :]*):
++# Version strings
++Red                  red       [[:space:]]([0-9]+\.[-+:.0-9a-z~]+)([^,)]|$)
++# Maintainer name
++Yellow               yel       ^Maintainer: ([^<]*) 
++# Maintainer address
++Magenta              mag       (<[^>]+@[^>]+>)
++# URL
++Yellow               yel       ([a-z]+://.*)
+--- supercat-0.5.5.orig/src/spc.h
++++ supercat-0.5.5/src/spc.h
+@@ -62,7 +62,12 @@
+ 
+ #define NMATCH  16
+ #define NREGEX  16
+-#define BUFFER  1024
++
++/*
++  1024 characters is not enough for Depends: lines in debian packages.
++  The longest I've seen is 7167 characters, so 20K should be plenty.
++*/
++#define BUFFER  20480
+ 
+ #define PATYPE_CHARS    'c'
+ #define PATYPE_STRING   's'
diff -Nru supercat-0.5.5/debian/patches/series supercat-0.5.5/debian/patches/series
--- supercat-0.5.5/debian/patches/series	2009-12-17 11:03:03.000000000 +1100
+++ supercat-0.5.5/debian/patches/series	2016-08-02 19:08:29.000000000 +1000
@@ -1 +1,2 @@
 manpage_fix.diff
+nmu1.diff
diff -Nru supercat-0.5.5/debian/rules supercat-0.5.5/debian/rules
--- supercat-0.5.5/debian/rules	2009-12-17 14:02:04.000000000 +1100
+++ supercat-0.5.5/debian/rules	2016-08-02 18:57:31.000000000 +1000
@@ -1,8 +1,7 @@
 #!/usr/bin/make -f
 # -*- makefile -*-
 
-DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+export SOURCE_DATE_EPOCH = $(shell date -d "$$(dpkg-parsechangelog --count 1 -SDate)" +%s)
 
 # Package name
 PACKAGE_NAME = supercat
@@ -19,12 +18,8 @@
 # The installation directory
 PACKAGE_DIR = debian/$(PACKAGE_NAME)
 
-CFLAGS ?= -g
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-	CFLAGS += -O0
-else
-	CFLAGS += -O2
-endif
+CFLAGS=$(shell dpkg-buildflags --get CFLAGS)
+LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS)
 
 ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
 CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
@@ -36,6 +31,12 @@
 INSTALL_PROGRAM += -s
 endif
 
+configure:
+	cp -f configure.ac configure.ac.bak
+	autoupdate configure.ac
+	autoreconf --force --install --symlink --warnings=all
+	./configure $(CROSS) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
+
 config.status: configure
 	$(checkdir)
 ifneq "$(wildcard /usr/share/misc/config.sub)" ""
@@ -44,7 +45,6 @@
 ifneq "$(wildcard /usr/share/misc/config.guess)" ""
 	cp -f /usr/share/misc/config.guess config.guess
 endif
-	./configure $(CROSS) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
 
 
 build: build-stamp
@@ -58,8 +58,12 @@
 	$(checkdir)
 	rm -f build-stamp
 	[ ! -f Makefile ] || $(MAKE) distclean
-	rm -f config.sub config.guess
+	rm -f config.sub config.guess config.log
 	rm -rf $(PACKAGE_DIR) debian/files debian/substvars
+	test -e configure.ac.bak && mv -f configure.ac.bak configure.ac || true
+	rm -f Makefile.in */Makefile.in aclocal.m4 config.h.in configure
+	rm -f compile install-sh missing depcomp
+	rm -rf autom4te.cache/
 
 install: checkroot build
 	$(checkdir)
@@ -79,13 +83,13 @@
 	$(INSTALL_FILE) -m 644 ChangeLog $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/changelog
 	$(INSTALL_FILE) -m 644 debian/changelog $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/changelog.Debian
 	for i in $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/changelog*;do \
-		gzip -9v $$i; \
+		gzip -9nv $$i; \
 	done;
 	$(INSTALL_FILE) -m 644 debian/copyright $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/copyright
 	$(INSTALL_DIR) $(PACKAGE_DIR)/etc/$(PACKAGE_NAME)
 	$(INSTALL_DIR) $(PACKAGE_DIR)/usr/share/man/man1
 	$(INSTALL_FILE) -m 644 doc/spc.1 $(PACKAGE_DIR)/usr/share/man/man1
-	gzip -9v $(PACKAGE_DIR)/usr/share/man/*/*
+	gzip -9nv $(PACKAGE_DIR)/usr/share/man/*/*
 # Strip binaries (including hack by policy wonks)
 ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
 	strip -R.note -R.comment $(PACKAGE_DIR)/usr/bin/*
@@ -95,6 +99,8 @@
 	cd $(PACKAGE_DIR) && ls etc/$(PACKAGE_NAME)/*|sed 's|^|/|' > DEBIAN/conffiles
 	cd $(PACKAGE_DIR) && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums
 	dpkg-gencontrol -p$(PACKAGE_NAME) -P$(PACKAGE_DIR)
+	find $(PACKAGE_DIR) -newermt "@$$SOURCE_DATE_EPOCH" -print0 | \
+		xargs -0r touch --no-dereference --date="@$$SOURCE_DATE_EPOCH"
 	dpkg-deb --build $(PACKAGE_DIR) ..
 
 binary: binary-indep binary-arch

Reply via email to