From 3c0af48c68cbddcc462189b8206dc1cf6bc9d2cb Mon Sep 17 00:00:00 2001 From: "J.W. Jagersma" Date: Sat, 24 Sep 2022 17:05:50 +0200 Subject: [PATCH] modernize debian packaging --- .gitignore | 7 ++ tvision/Makefile.in | 5 +- tvision/debian/.gitignore | 9 +- tvision/debian/buildpackage | 3 +- tvision/debian/changelog | 2 +- tvision/debian/compat | 2 +- tvision/debian/control | 21 +++- tvision/debian/diversions.ex | 1 - tvision/debian/files_to_backup | 1 - tvision/debian/info.ex | 15 --- tvision/debian/rhtvision.postinst | 6 -- tvision/debian/rhtvision.postrm | 6 -- tvision/debian/rules | 165 +++++++++--------------------- tvision/debian/shlibs.local.ex | 1 - tvision/debian/source/format | 1 + tvision/debian/watch.ex | 5 - 16 files changed, 81 insertions(+), 169 deletions(-) create mode 100644 .gitignore delete mode 100644 tvision/debian/diversions.ex delete mode 100644 tvision/debian/files_to_backup delete mode 100644 tvision/debian/info.ex delete mode 100644 tvision/debian/rhtvision.postinst delete mode 100644 tvision/debian/rhtvision.postrm delete mode 100644 tvision/debian/shlibs.local.ex create mode 100644 tvision/debian/source/format delete mode 100644 tvision/debian/watch.ex diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..48058b2e --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +/*.changes +/*.build +/*.buildinfo +/*.dsc +/*.deb +/*.tar +/*.tar.* diff --git a/tvision/Makefile.in b/tvision/Makefile.in index eb7e4e93..9ecbb277 100644 --- a/tvision/Makefile.in +++ b/tvision/Makefile.in @@ -48,11 +48,10 @@ install: @installers@ install-headers install-intl-dummy install-config @clean@ deb: - fakeroot dpkg-buildpackage -b -uc - #fakeroot debian/rules binary + debuild --no-sign --build=binary deb_clean: - fakeroot debian/rules clean + debuild -- clean # # For compatibility with automake: diff --git a/tvision/debian/.gitignore b/tvision/debian/.gitignore index 0e62b958..6d1878e0 100644 --- a/tvision/debian/.gitignore +++ b/tvision/debian/.gitignore @@ -1,5 +1,6 @@ -rhtvision1 -rhtvision1.substvars +rhtvision*/ +rhtvision*.substvars +rhtvision*.debhelper.log +debhelper-build-stamp files -tmp - +tmp/ diff --git a/tvision/debian/buildpackage b/tvision/debian/buildpackage index a4d0494a..daedb4d7 100644 --- a/tvision/debian/buildpackage +++ b/tvision/debian/buildpackage @@ -1,5 +1,4 @@ #!/bin/sh dh_testdir || exit $? chmod +x debian/rules -dpkg-buildpackage -rfakeroot - +debuild --no-sign diff --git a/tvision/debian/changelog b/tvision/debian/changelog index ad7e62a8..d652b21b 100644 --- a/tvision/debian/changelog +++ b/tvision/debian/changelog @@ -1,4 +1,4 @@ -rhtvision (2.2.3-1) stable; urgency=medium +rhtvision (2.2.3+1) stable; urgency=medium * Compiles with gcc 10.2 * Fixes to TInputLine (not showing last char) diff --git a/tvision/debian/compat b/tvision/debian/compat index 7f8f011e..b4de3947 100644 --- a/tvision/debian/compat +++ b/tvision/debian/compat @@ -1 +1 @@ -7 +11 diff --git a/tvision/debian/control b/tvision/debian/control index 28d84250..9e083a72 100644 --- a/tvision/debian/control +++ b/tvision/debian/control @@ -2,13 +2,26 @@ Source: rhtvision Section: libs Priority: optional Maintainer: Ivan Baldo -Build-Depends: perl | perl5, libncurses-dev, libgpm-dev | libgpmg1-dev, debhelper (>= 7), libx11-dev | xlibs-dev | xlib6g-dev, libxmu-dev | xlibs-dev | xlib6g-dev, gettext, file -Standards-Version: 3.7.2.2 +Build-Depends: + debhelper (>= 11), + perl | perl5, + libncurses-dev, + libgpm-dev | libgpmg1-dev, + libx11-dev | xlibs-dev | xlib6g-dev, + libxmu-dev | xlibs-dev | xlib6g-dev, + gettext, + file +Standards-Version: 4.6.1 Package: rhtvision2.2.3-dev Architecture: any Section: devel -Depends: rhtvision2.2.3, libncurses-dev, libgpm-dev | libgpmg1-dev, libx11-dev | xlibs-dev | xlib6g-dev, libxmu-dev | xlibs-dev | xlib6g-dev +Depends: ${shlibs:Depends}, ${misc:Depends}, + rhtvision2.2.3, + libncurses-dev, + libgpm-dev | libgpmg1-dev, + libx11-dev | xlibs-dev | xlib6g-dev, + libxmu-dev | xlibs-dev | xlib6g-dev Provides: rhtvision-dev Conflicts: rhtvision-dev Replaces: rhtvision-dev @@ -23,7 +36,7 @@ Description: Development files for the RHTVision library - a TUI interface Package: rhtvision2.2.3 Architecture: any Section: libs -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Conflicts: rhtvision1 XB-Bugs: mailto:ibaldo@adinet.com.uy Description: The RHTVision library - TUI interface for console applications diff --git a/tvision/debian/diversions.ex b/tvision/debian/diversions.ex deleted file mode 100644 index aebbbe5d..00000000 --- a/tvision/debian/diversions.ex +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tvision/debian/files_to_backup b/tvision/debian/files_to_backup deleted file mode 100644 index c8383d35..00000000 --- a/tvision/debian/files_to_backup +++ /dev/null @@ -1 +0,0 @@ -linux/libtvfintl.a diff --git a/tvision/debian/info.ex b/tvision/debian/info.ex deleted file mode 100644 index 05a4bded..00000000 --- a/tvision/debian/info.ex +++ /dev/null @@ -1,15 +0,0 @@ -# This is a configuration files for installing a .info menu -# The Description to be placed into the directory -DESCR="Description" - -# The section this info file should be placed in (Regexp) followed by -# the new section name to be created if the Regexp does not match -# (Optional. If not given the .info will be appended to the directory) -#SECTION_MATCH="Regexp" -#SECTION_NAME="New Section Name" - -# The file referred to from the Info directory -FILE=rhtvision.info - -# Optional. The files to be copied to /usr/info -#FILES=*.info diff --git a/tvision/debian/rhtvision.postinst b/tvision/debian/rhtvision.postinst deleted file mode 100644 index fbad76b0..00000000 --- a/tvision/debian/rhtvision.postinst +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -e -if [ "$1" = "configure" ]; then - ldconfig -fi - -#DEBHELPER# diff --git a/tvision/debian/rhtvision.postrm b/tvision/debian/rhtvision.postrm deleted file mode 100644 index 7a49c1df..00000000 --- a/tvision/debian/rhtvision.postrm +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -e -if [ "$1" = "remove" ]; then - ldconfig -fi - -#DEBHELPER# \ No newline at end of file diff --git a/tvision/debian/rules b/tvision/debian/rules index b32e2ae5..2c69a7d6 100755 --- a/tvision/debian/rules +++ b/tvision/debian/rules @@ -1,140 +1,67 @@ #!/usr/bin/make -f -# Made with the aid of dh_make, by Craig Small -# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess. -# This version is for a hypothetical package that builds an -# architecture-dependant package, as well as an architecture-independant -# package. -version=$(shell cat version.txt) -package=rhtvision -destdir=$(shell pwd)/debian/tmp/usr - -LIB_SUBDIR=$(shell dpkg-architecture -qDEB_TARGET_MULTIARCH) +version := $(shell cat version.txt) +package := rhtvision$(version) +destdir := $(shell pwd)/debian/tmp/usr # Uncomment this to turn on verbose mode: #export DH_VERBOSE=1 -# Set CFLAGS according to the Debian Policy: -CFLAGS = -D_REENTRANT -g -Wall -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 -else - CFLAGS += -O2 -endif -CXXFLAGS = $(CFLAGS) -LDFLAGS= +# Set CFLAGS, CXXFLAGS, etc. +DPKG_EXPORT_BUILDFLAGS := 1 +include /usr/share/dpkg/default.mk -# Compile the beast!: -build: build-stamp -build-stamp: debianbackup.tar - dh_testdir -# Rename debian/rhtvision.postinst file if it exists (and others): -ifneq ($(wildcard debian/rhtvision.postinst),) - mv debian/rhtvision.postinst debian/rhtvision$(version).postinst - mv debian/rhtvision.postrm debian/rhtvision$(version).postrm -endif - CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure \ - --prefix=$(destdir) --fhs --no-libs-here --real-prefix=/usr \ - --libs-subdir=$(LIB_SUBDIR) - CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" $(MAKE) -j `nproc` - touch build-stamp +%: + dh $@ +override_dh_auto_clean: ../debianbackup.tar + -git clean -dx --force -# Clean everything as if nothing happened :) : -clean: clean-debian debianbackup.tar -# If we don't configure there is no guarantee that we have a Makefile: - ./configure --prefix=$(destdir) --fhs --no-libs-here --real-prefix=/usr \ - --libs-subdir=$(LIB_SUBDIR) - $(MAKE) clean -# Restore upstream provided regenerated files: - test -e debianbackup.tar && tar -xf debianbackup.tar - rm -f debianbackup.tar -# FIXME: ask upstream about adding the next files to his clean target: - rm -f compat/rhide.env examples/rhide.env include/tv/configtv.h Makefile \ - makes/rhide.env redhat/librhtv-*.spec makes/libtvfintl.a - rm -f build-stamp +override_dh_auto_configure: + ./configure --prefix=$(destdir) --real-prefix=/usr \ + --libs-subdir=$(DEB_HOST_MULTIARCH) --fhs \ + --no-libs-here --with-debug -# Use the following target when you just want for example to rebuild the -# package without recompiling the sources: -clean-debian: - dh_testdir - dh_testroot -# Rename rhtvision$(version).postinst file if it exists (and others): -ifneq ($(wildcard debian/rhtvision$(version).postinst),) - mv debian/rhtvision$(version).postinst debian/rhtvision.postinst - mv debian/rhtvision$(version).postrm debian/rhtvision.postrm -endif - dh_clean - -# Let's backup modified files to restore them later!: -debianbackup.tar: - dh_testdir -# Backup upstream provided regenerated files: - -tar -cf debianbackup.tar --files-from=debian/files_to_backup - - -# Copy needed files to the temporary directories for the packages: -install: build - dh_testdir - dh_testroot - dh_clean - dh_installdirs -p $(package)$(version)-dev usr/lib usr/bin \ - usr/include/$(package) usr/share/doc \ - usr/share/doc/$(package)$(version)-dev \ - usr/share/doc/$(package)$(version)-dev/examples - dh_installdirs -p $(package)$(version) usr/lib usr/share \ - usr/share/doc/$(package)$(version) \ - usr/share/doc/$(package)$(version)/eterm +override_dh_auto_install: $(MAKE) install prefix=$(destdir) -# We need to move files for other packages than the first one in the control file: - dh_movefiles -p $(package)$(version) usr/lib/$(LIB_SUBDIR)/librhtv.so.$(version) \ - usr/share/locale/ - dh_movefiles -p $(package)$(version)-dev usr/ +override_dh_install: + dh_movefiles -p $(package) usr/share/locale/ \ + usr/lib/$(DEB_HOST_MULTIARCH)/librhtv.so.$(version) + dh_movefiles -p $(package)-dev usr/ -# Build the packages for a specific architecture: -binary-arch: build install - dh_testdir - dh_testroot +override_dh_installdocs: dh_installdocs -A borland.txt copying copying.rh readme.txt \ - doc/CodePages.txt doc/ConfigFile.txt doc/Eterm.txt doc/Linux.txt \ - doc/X11.txt doc/XTerm.txt THANKS - dh_installdocs -p $(package)$(version)-dev doc/TVReference.html \ + doc/CodePages.txt doc/ConfigFile.txt doc/Eterm.txt \ + doc/Linux.txt doc/X11.txt doc/XTerm.txt THANKS + dh_installdocs -p $(package)-dev doc/TVReference.html \ doc/I18n.txt doc/Streams.txt - dh_installdocs -p $(package)$(version) extra/eterm/ debian/README.debian - mv debian/$(package)$(version)/usr/share/doc/$(package)$(version)/README.debian \ - debian/$(package)$(version)/usr/share/doc/$(package)$(version)/README.Debian - dh_installexamples -p $(package)$(version)-dev examples/* - find $(destdir) debian/$(package)$(version) \ - \( -name '.cvsignore' -o -name 'CVS' -prune \) -exec rm -rf '{}' \; -# dh_installmenu -# dh_installemacsen -# dh_installinit -# dh_installcron -# dh_installmanpages -# dh_undocumented -p $(package)$(version) rhtvision.3 - dh_installchangelogs change.log - dh_strip - dh_compress - dh_fixperms -# dh_suidregister - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_makeshlibs -m$(version) - dh_md5sums - dh_builddeb + dh_installdocs -p $(package) extra/eterm/ debian/README.debian + mv debian/$(package)/usr/share/doc/$(package)/README.debian \ + debian/$(package)/usr/share/doc/$(package)/README.Debian +override_dh_installexamples: + dh_installexamples -p $(package)-dev examples/* -# Build architecture-independent files here. -binary-indep: build install -#This package doesn't have architecture-independent files for the moment... +override_dh_installchangelogs: + dh_installchangelogs change.log -source diff: - @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false +override_dh_md5sums: + # Clean up cvs/git files before checksumming + find debian/$(package) debian/$(package)-dev \ + \( -name '.gitignore' -o -name '.cvsignore' \) -delete + dh_md5sums -# Build all the packages: -binary: binary-indep binary-arch +override_dh_makeshlibs: + dh_makeshlibs -m$(version) -.PHONY: build clean binary-indep binary-arch binary clean-debian +override_dh_builddeb: + dh_builddeb + # Restore files that were removed by git clean + -tar -xf ../debianbackup.tar && rm -f ../debianbackup.tar +../debianbackup.tar: + dh_testdir + git clean -dx --exclude=debian/ --dry-run \ + | sed 's/Would remove //g' \ + | tar --files-from=- -cf $@ diff --git a/tvision/debian/shlibs.local.ex b/tvision/debian/shlibs.local.ex deleted file mode 100644 index c5cb1ba2..00000000 --- a/tvision/debian/shlibs.local.ex +++ /dev/null @@ -1 +0,0 @@ -librhtvision 1.0.5 rhtvision (>> 1.0.5-0), rhtvision (<< 1.0.5-99) diff --git a/tvision/debian/source/format b/tvision/debian/source/format new file mode 100644 index 00000000..89ae9db8 --- /dev/null +++ b/tvision/debian/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/tvision/debian/watch.ex b/tvision/debian/watch.ex deleted file mode 100644 index 3313fc8a..00000000 --- a/tvision/debian/watch.ex +++ /dev/null @@ -1,5 +0,0 @@ -# Example watch control file for uscan -# Rename this file to "watch" and then you can run the "uscan" command -# to check for upstream updates and more. -# Site Directory Pattern Version Script -sunsite.unc.edu /pub/Linux/Incomingu rhtvision-*.tar.gz debian uupdate