From 169a62ee172b2e200c14f91512181c22bb1bd9fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Sun, 7 Aug 2016 15:31:57 +0200 Subject: Use common build rules for knetload on Debian and Ubuntu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- .../knetload/debian/cdbs/debian-qt-kde.mk | 120 ++++++++++++ .../lenny/applications/knetload/debian/cdbs/kde.mk | 99 ++++++++++ .../applications/knetload/debian/cdbs/versions.pl | 19 ++ debian/lenny/applications/knetload/debian/control | 2 +- debian/lenny/applications/knetload/debian/dirs | 1 - .../knetload/debian/knetload-trinity.manpages | 2 +- .../applications/knetload/debian/patches/series | 1 + debian/lenny/applications/knetload/debian/rules | 203 +-------------------- 8 files changed, 249 insertions(+), 198 deletions(-) create mode 100644 debian/lenny/applications/knetload/debian/cdbs/debian-qt-kde.mk create mode 100644 debian/lenny/applications/knetload/debian/cdbs/kde.mk create mode 100644 debian/lenny/applications/knetload/debian/cdbs/versions.pl create mode 100644 debian/lenny/applications/knetload/debian/patches/series (limited to 'debian/lenny/applications/knetload') diff --git a/debian/lenny/applications/knetload/debian/cdbs/debian-qt-kde.mk b/debian/lenny/applications/knetload/debian/cdbs/debian-qt-kde.mk new file mode 100644 index 000000000..32ba4acfb --- /dev/null +++ b/debian/lenny/applications/knetload/debian/cdbs/debian-qt-kde.mk @@ -0,0 +1,120 @@ +ifndef _cdbs_bootstrap +_cdbs_scripts_path ?= /usr/lib/cdbs +_cdbs_rules_path ?= /usr/share/cdbs/1/rules +_cdbs_class_path ?= /usr/share/cdbs/1/class +endif + +ifndef _cdbs_class_debian-qt-kde +_cdbs_class_debian-qt-kde := 1 + +# Note: This _must_ be included before autotools.mk, or it won't work. +common-configure-arch common-configure-indep:: debian/stamp-cvs-make +debian/stamp-cvs-make: +ifndef _cdbs_class_cmake + cp -Rp /usr/share/aclocal/libtool.m4 admin/libtool.m4.in +ifneq "$(wildcard /usr/share/libtool/config/ltmain.sh)" "" + cp -Rp /usr/share/libtool/config/ltmain.sh admin/ltmain.sh +endif +ifneq "$(wildcard /usr/share/libtool/build-aux/ltmain.sh)" "" + cp -Rp /usr/share/libtool/build-aux/ltmain.sh admin/ltmain.sh +endif + $(MAKE) -C $(DEB_SRCDIR) -f admin/Makefile.common dist; +endif + touch debian/stamp-cvs-make + +include debian/cdbs/kde.mk$(_cdbs_makefile_suffix) +#include debian/cdbs/uploaders.mk + +ifndef _cdbs_rules_patchsys_quilt +DEB_PATCHDIRS := debian/patches/common debian/patches +endif + +DEB_KDE_ENABLE_FINAL := yes +DEB_INSTALL_DOCS_ALL := + +DEB_DH_MAKESHLIBS_ARGS_ALL := -V +DEB_SHLIBDEPS_INCLUDE = $(foreach p,$(PACKAGES_WITH_LIBS),debian/$(p)/usr/lib) + +ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + cdbs_treat_me_gently_arches := arm m68k alpha ppc64 armel armeb + ifeq (,$(filter $(DEB_HOST_ARCH_CPU),$(cdbs_treat_me_gently_arches))) + cdbs_kde_enable_final = $(if $(DEB_KDE_ENABLE_FINAL),--enable-final,) + else + cdbs_kde_enable_final = + endif +endif + +common-build-arch:: debian/stamp-man-pages +debian/stamp-man-pages: + if ! test -d debian/man/out; then mkdir -p debian/man/out; fi + for f in $$(find debian/man -name '*.sgml'); do \ + docbook-to-man $$f > debian/man/out/`basename $$f .sgml`.1; \ + done + for f in $$(find debian/man -name '*.man'); do \ + soelim -I debian/man $$f \ + > debian/man/out/`basename $$f .man`.`head -n1 $$f | awk '{print $$NF}'`; \ + done + touch debian/stamp-man-pages + +common-binary-indep:: + ( set -e; \ + tmpf=`mktemp debian/versions.XXXXXX`; \ + perl debian/cdbs/versions.pl >$$tmpf; \ + for p in $(DEB_INDEP_PACKAGES); do \ + cat $$tmpf >>debian/$$p.substvars; \ + done; \ + rm -f $$tmpf ) + +common-binary-arch:: + ( set -e; \ + tmpf=`mktemp debian/versions.XXXXXX`; \ + perl debian/cdbs/versions.pl >$$tmpf; \ + for p in $(DEB_ARCH_PACKAGES); do \ + cat $$tmpf >>debian/$$p.substvars; \ + done; \ + rm -f $$tmpf ) + +clean:: + rm -rf debian/man/out + -rmdir debian/man + rm -f debian/stamp-man-pages + rm -rf debian/shlibs-check + +$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%: + if test -x /usr/bin/dh_desktop; then dh_desktop -p$(cdbs_curpkg) $(DEB_DH_DESKTOP_ARGS); fi + if test -e debian/$(cdbs_curpkg).lintian; then \ + install -p -D -m644 debian/$(cdbs_curpkg).lintian \ + debian/$(cdbs_curpkg)/usr/share/lintian/overrides/$(cdbs_curpkg); \ + fi + if test -e debian/$(cdbs_curpkg).presubj; then \ + install -p -D -m644 debian/$(cdbs_curpkg).presubj \ + debian/$(cdbs_curpkg)/usr/share/bug/$(cdbs_curpkg)/presubj; \ + fi + +binary-install/$(DEB_SOURCE_PACKAGE)-doc-html:: + set -e; \ + for doc in `cd $(DEB_DESTDIR)/opt/trinity/share/doc/tde/HTML/en; find . -name index.docbook`; do \ + pkg=$${doc%/index.docbook}; pkg=$${pkg#./}; \ + echo Building $$pkg HTML docs...; \ + mkdir -p $(CURDIR)/debian/$(DEB_SOURCE_PACKAGE)-doc-html/opt/trinity/share/doc/tde/HTML/en/$$pkg; \ + cd $(CURDIR)/debian/$(DEB_SOURCE_PACKAGE)-doc-html/opt/trinity/share/doc/tde/HTML/en/$$pkg; \ + /opt/trinity/bin/meinproc $(DEB_DESTDIR)/opt/trinity/share/doc/tde/HTML/en/$$pkg/index.docbook; \ + done + for pkg in $(DOC_HTML_PRUNE) ; do \ + rm -rf debian/$(DEB_SOURCE_PACKAGE)-doc-html/opt/trinity/share/doc/tde/HTML/en/$$pkg; \ + done + +clean:: +ifndef _cdbs_class_cmake + if test -n "$(DEB_KDE_CVS_MAKE)" && test -d $(DEB_SRCDIR); then \ + cd $(DEB_SRCDIR); \ + find . -name Makefile.in -print | \ + xargs --no-run-if-empty rm -f; \ + rm -f Makefile.am acinclude.m4 aclocal.m4 config.h.in \ + configure configure.files configure.in stamp-h.in \ + subdirs; \ + fi +endif + rm -f debian/stamp-cvs-make + +endif diff --git a/debian/lenny/applications/knetload/debian/cdbs/kde.mk b/debian/lenny/applications/knetload/debian/cdbs/kde.mk new file mode 100644 index 000000000..023886fc8 --- /dev/null +++ b/debian/lenny/applications/knetload/debian/cdbs/kde.mk @@ -0,0 +1,99 @@ +# -*- mode: makefile; coding: utf-8 -*- +# Copyright © 2003 Christopher L Cheney +# Description: A class for KDE packages; sets KDE environment variables, etc +# +# 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; either version 2, or (at +# your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +# 02111-1307 USA. + +_cdbs_scripts_path ?= /usr/lib/cdbs +_cdbs_rules_path ?= /usr/share/cdbs/1/rules +_cdbs_class_path ?= /usr/share/cdbs/1/class + +ifndef _cdbs_class_kde +_cdbs_class_kde := 1 + +# for dh_icons +CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), debhelper (>= 5.0.7ubuntu4) + +include $(_cdbs_rules_path)/buildcore.mk$(_cdbs_makefile_suffix) + +ifdef _cdbs_tarball_dir +DEB_BUILDDIR = $(_cdbs_tarball_dir)/obj-$(DEB_BUILD_GNU_TYPE) +else +DEB_BUILDDIR = obj-$(DEB_BUILD_GNU_TYPE) +endif + +ifndef _cdbs_class_cmake +include $(_cdbs_class_path)/autotools.mk$(_cdbs_makefile_suffix) +endif + +export kde_cgidir = \$${libdir}/cgi-bin +export kde_confdir = \$${sysconfdir}/trinity +export kde_htmldir = \$${datadir}/doc/tde/HTML + +ifeq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + cdbs_kde_enable_final = $(if $(DEB_KDE_ENABLE_FINAL),--enable-final,) +endif + +ifneq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) + cdbs_kde_enable_final = + cdbs_kde_enable_debug = --enable-debug=yes +else + cdbs_kde_enable_debug = --disable-debug +endif + +ifneq (,$(filter debug,$(DEB_BUILD_OPTIONS))) + cdbs_kde_enable_debug = --enable-debug=full +endif + +cdbs_configure_flags += --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug) + +DEB_AC_AUX_DIR = $(DEB_SRCDIR)/admin +DEB_CONFIGURE_INCLUDEDIR = "\$${prefix}/include" +DEB_COMPRESS_EXCLUDE = .dcl .docbook -license .tag .sty .el + +$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/%: + if test -x /usr/bin/dh_icons; then dh_icons -p$(cdbs_curpkg) $(DEB_DH_ICONCACHE_ARGS); fi + +cleanbuilddir:: + -$(if $(call cdbs_streq,$(DEB_BUILDDIR),$(DEB_SRCDIR)),,rm -rf $(DEB_BUILDDIR)) + +common-build-arch common-build-indep:: debian/stamp-kde-apidox +debian/stamp-kde-apidox: + $(if $(DEB_KDE_APIDOX),+$(DEB_MAKE_INVOKE) apidox) + touch $@ + +common-install-prehook-impl:: + mkdir -p po + -XGETTEXT=/usr/bin/kde-xgettext EXTRACTATTR=/opt/trinity/bin/extractattr sh $(DEB_SRCDIR)/admin/cvs.sh extract-messages + -for file in po/*pot; do \ + sed "s/charset=CHARSET/charset=UTF-8/" -i $$file; \ + done + +common-install-arch common-install-indep:: common-install-kde-apidox +common-install-kde-apidox:: + $(if $(DEB_KDE_APIDOX),+$(DEB_MAKE_INVOKE) install-apidox DESTDIR=$(DEB_DESTDIR)) + +clean:: + rm -f debian/stamp-kde-apidox + rm -rf po/*.pot + +# This is a convenience target for calling manually. It's not part of +# the build process. +buildprep: clean apply-patches + $(MAKE) -f admin/Makefile.common dist + debian/rules clean + +endif diff --git a/debian/lenny/applications/knetload/debian/cdbs/versions.pl b/debian/lenny/applications/knetload/debian/cdbs/versions.pl new file mode 100644 index 000000000..1b110f7af --- /dev/null +++ b/debian/lenny/applications/knetload/debian/cdbs/versions.pl @@ -0,0 +1,19 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +my $version = `dpkg-parsechangelog | awk '/^Version/ {print \$2}'`; +my ($version3, $version3_next); +my ($version2, $version2_next); + +($version3 = $version) =~ s/^(([^.]+\.){2}[^.+~-]+)[.+~-]?[^-]*-[^-]+$/$1/; +($version2 = $version3) =~ s/\.[^.]+$//; + +($version3_next = $version3) =~ s/(?<=\.)(\d+)[a-z]?$/($1+1)/e; +($version2_next = $version2) =~ s/(?<=\.)(\d+)$/($1+1)/e; + +print "TDE-Version3=$version3\n"; +print "TDE-Version2=$version2\n"; +print "TDE-Next-Version3=$version3_next\n"; +print "TDE-Next-Version2=$version2_next\n"; diff --git a/debian/lenny/applications/knetload/debian/control b/debian/lenny/applications/knetload/debian/control index 18a54d835..10d4ca81f 100644 --- a/debian/lenny/applications/knetload/debian/control +++ b/debian/lenny/applications/knetload/debian/control @@ -3,7 +3,7 @@ Section: tde Priority: optional Maintainer: Timothy Pearson XSBC-Original-Maintainer: Helen Faulkner -Build-Depends: debhelper (>= 7.0.50~), tdelibs14-trinity-dev (>= 4:3.4.2), automake, autoconf, libtool, libltdl-dev +Build-Depends: debhelper (>= 7.0.50~), cdbs, quilt, tdelibs14-trinity-dev (>= 4:3.4.2), automake, autoconf, libtool, libltdl-dev Standards-Version: 3.8.4 Package: knetload-trinity diff --git a/debian/lenny/applications/knetload/debian/dirs b/debian/lenny/applications/knetload/debian/dirs index 43e7f554c..f583045fe 100644 --- a/debian/lenny/applications/knetload/debian/dirs +++ b/debian/lenny/applications/knetload/debian/dirs @@ -1,2 +1 @@ opt/trinity/bin -opt/trinity/sbin diff --git a/debian/lenny/applications/knetload/debian/knetload-trinity.manpages b/debian/lenny/applications/knetload/debian/knetload-trinity.manpages index b0a6ac166..23359fce1 100644 --- a/debian/lenny/applications/knetload/debian/knetload-trinity.manpages +++ b/debian/lenny/applications/knetload/debian/knetload-trinity.manpages @@ -1 +1 @@ -debian/knetload.1 +debian/knetload.1 diff --git a/debian/lenny/applications/knetload/debian/patches/series b/debian/lenny/applications/knetload/debian/patches/series new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/debian/lenny/applications/knetload/debian/patches/series @@ -0,0 +1 @@ + diff --git a/debian/lenny/applications/knetload/debian/rules b/debian/lenny/applications/knetload/debian/rules index 43c44fbe2..2e9187a31 100755 --- a/debian/lenny/applications/knetload/debian/rules +++ b/debian/lenny/applications/knetload/debian/rules @@ -1,204 +1,17 @@ #!/usr/bin/make -f -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 to 1999 by Joey Hess. -DEB_CONFIGURE_INCLUDEDIR := /opt/trinity/include/tde +include /usr/share/cdbs/1/rules/debhelper.mk +include debian/cdbs/debian-qt-kde.mk +include /usr/share/cdbs/1/rules/patchsys-quilt.mk +include /usr/share/cdbs/1/rules/utils.mk + +DEB_CONFIGURE_INCLUDEDIR := /opt/trinity/include DEB_CONFIGURE_MANDIR := /opt/trinity/share/man DEB_CONFIGURE_PREFIX := /opt/trinity DEB_CONFIGURE_INFODIR := /opt/trinity/share/info -cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug) - DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \ && echo xz || echo bzip2) -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# This is the debhelper compatibility version to use. -export DH_COMPAT=4 - -# This has to be exported to make some magic below work. -export DH_OPTIONS - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) - -INSTALL_DIR = install -p -d -o root -g root -m 755 -INSTALL_FILE = install -p -o root -g root -m 644 - -objdir = $(CURDIR)/obj-$(DEB_BUILD_GNU_TYPE) - -tmp = debian/knetload-trinity - -ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) - CFLAGS += -g -endif - -ifeq ($(DEB_BUILD_GNU_TYPE),i386-linux) - # Uncomment the following 2 lines to enable i686 optimziation - # You may want to tweak the settings to your likings - #export CFLAGS=-O3 -march=i686 -ffast-math -finline-functions - #export CXXFLAGS=-O3 -march=i686 -ffast-math -finline-functions -endif - --include debian/debiandirs - -debian/debiandirs: admin/debianrules - perl -w admin/debianrules echodirs > debian/debiandirs - -configure: configure-stamp -configure-stamp: - dh_testdir - - # Apply Debian specific patches - if test ! -f patch-stamp; then \ - for patch in $(CURDIR)/debian/patches/*.diff ;\ - do \ - echo APPLYING PATCH\: $${patch##*/};\ - patch -p1 < $$patch ;\ - done ;\ - touch patch-stamp ;\ - fi - -ifneq "$(wildcard /usr/share/libtool/ltmain.sh)" "" - cp -f /usr/share/libtool/ltmain.sh admin/ltmain.sh -endif -ifneq "$(wildcard /usr/share/libtool/config/ltmain.sh)" "" - cp -f /usr/share/libtool/config/ltmain.sh admin/ltmain.sh -endif -ifneq "$(wildcard /usr/share/libtool/build-aux/ltmain.sh)" "" - cp -f /usr/share/libtool/build-aux/ltmain.sh admin/ltmain.sh -endif - cp -f /usr/share/aclocal/libtool.m4 admin/libtool.m4.in - - make -f admin/Makefile.common cvs - touch debian/stamp-bootstrap - - # make build directory - mkdir $(objdir) - - # run configure with build tree $(objdir) - cd $(objdir) && \ - ../configure $(configkde) --prefix=/opt/trinity --with-extra-libs=/opt/trinity/lib --with-extra-includes=/opt/trinity/include/tde - - touch configure-stamp - -build: build-stamp -build-stamp: configure-stamp - dh_testdir - - cd $(objdir) && \ - $(MAKE) - - touch build-stamp - -debian-clean: - dh_testdir - dh_testroot - - dh_clean - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp debian/debiandirs - - # Remove Debian specific patches - if test -f patch-stamp; then \ - for patch in $(CURDIR)/debian/patches/*.diff ;\ - do \ - echo REMOVING PATCH\: $${patch##*/};\ - patch -p1 -R < $$patch ;\ - done ;\ - rm -f patch-stamp ;\ - fi - - # Remove build tree - rm -rf $(objdir) - - # if Makefile exists run distclean - if test -f Makefile; then \ - $(MAKE) distclean; \ - fi - - if test -d CVS; then \ - $(MAKE) -f admin/Makefile.common cvs-clean ;\ - fi - - # Auto-update config.{guess,sub} - -test -r /usr/share/misc/config.guess && \ - cp -f /usr/share/misc/config.guess admin/config.guess - -test -r /usr/share/misc/config.sub && \ - cp -f /usr/share/misc/config.sub admin/config.sub - - dh_clean - -install: DH_OPTIONS= -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - cd $(objdir) && \ - $(MAKE) install DESTDIR=$(CURDIR)/debian/knetload-trinity - - # Install additional files beyond the standard install. - dh_install - - # Generate HTML docs. -# for i in `find $(tmp) -name "index.docbook"`; do \ -# ( cd `dirname $$i`; meinproc `basename $$i` ); \ -# done - - # Install standard documentation links. - for pkg in `dh_listpackages`; do \ - if test -d debian/$$pkg/opt/trinity/share/doc/tde/HTML/en/$$pkg; then \ - dh_link -p$$pkg opt/trinity/share/doc/tde/HTML/en/$$pkg \ - opt/trinity/share/doc/$$pkg/html; \ - fi; \ - done - -# This single target is used to build all the packages, all at once, or -# one at a time. So keep in mind: any options passed to commands here will -# affect _all_ packages. Anything you want to only affect one package -# should be put in another target, such as the install target. -binary-common: - dh_testdir - dh_testroot - dh_installchangelogs ChangeLog - dh_installdocs - dh_installexamples - dh_installman - mv debian/knetload-trinity/usr/share/man debian/knetload-trinity/opt/trinity/share/ - dh_installmenu - dh_installmime - dh_strip - dh_link - dh_compress -X.docbook -X.css -X-license -X.dcl -X.bz2 - dh_fixperms - dh_makeshlibs -V - dh_installdeb - dh_perl - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb $(DEB_DH_BUILDDEB_ARGS) - -# Build architecture independant packages using the common target. -binary-indep: build install - # We have nothing to do by default. - -# Build architecture dependant packages using the common target. -binary-arch: build install - $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common - -# Any other binary targets build just one binary package at a time. -binary-%: build install - $(MAKE) -f debian/rules binary-common DH_OPTIONS=-p$* - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure +binary-install/knetload-trinity:: + mv debian/$(cdbs_curpkg)/usr/share/man debian/$(cdbs_curpkg)/opt/trinity/share/ -- cgit v1.2.1