diff options
author | Antti-Juhani Kaijanaho <ajk@debian.org> | 2010-12-04 20:39:59 +0200 |
---|---|---|
committer | Antti-Juhani Kaijanaho <ajk@debian.org> | 2010-12-04 20:39:59 +0200 |
commit | 2efb7087e7c6e70978ea53168d5562b1286290c1 (patch) | |
tree | 67a299281673e2dd97f6601631b94134caa012ba | |
parent | adc1463de2c7344a383efe5c43cfe6598e9a7a11 (diff) | |
download | dctrl-tools-2efb7087e7c6e70978ea53168d5562b1286290c1.tar.gz |
Move to Debhelper
Signed-off-by: Antti-Juhani Kaijanaho <ajk@debian.org>
-rw-r--r-- | GNUmakefile | 63 | ||||
-rw-r--r-- | README (renamed from debian/README) | 0 | ||||
-rw-r--r-- | debian/README.build-system | 6 | ||||
-rw-r--r-- | debian/changelog | 5 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/conffiles | 1 | ||||
-rw-r--r-- | debian/control | 4 | ||||
-rw-r--r-- | debian/librules-manual.txt | 133 | ||||
-rw-r--r-- | debian/librules.mk | 185 | ||||
-rwxr-xr-x | debian/rules | 82 |
10 files changed, 67 insertions, 413 deletions
diff --git a/GNUmakefile b/GNUmakefile index df76aee..7301663 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,7 +1,17 @@ -sysconfdir = /etc -localedir = /usr/share/locale version := $(shell dpkg-parsechangelog | grep '^Version' | cut -b10-) +maintainer := "$(shell grep ^Maintainer: debian/control | cut -b13-)" +prefix = /usr/local +exec_prefix = $(prefix) +sysconfdir = $(prefix)/etc +bindir = $(exec_prefix)/bin +sbindir = $(exec_prefix)/sbin +datarootdir = $(prefix)/share +docdir = $(datarootdir)/doc/dctrl-tools +mandir = $(datarootdir)/man +man1dir = $(mandir)/man1 +man8dir = $(mandir)/man8 +localedir = $(datarootdir)/locale CC = gcc CFLAGS = -g -Wall -Werror @@ -10,12 +20,12 @@ ALL_CFLAGS = $(CFLAGS) -std=gnu99 -Ilib \ -DHAVE_GETTEXT -DPACKAGE=\"dctrl-tools\" -DLOCALEDIR=\"$(localedir)\" ALL_CFLAGS += -DVERSION=\"$(version)\" -ALL_CFLAGS += -DMAINTAINER='"$(shell grep ^Maintainer: debian/control | cut -b13-)"' +ALL_CFLAGS += -DMAINTAINER='$(maintainer)' -#CFLAGS += -DNDEBUG - -#CFLAGS += -pg -#LDFLAGS += -pg +INSTALL = install +INSTALL_PROGRAM = $(INSTALL) +INSTALL_DATA = $(INSTALL) -m644 +INSTALL_DIR = $(INSTALL) -d libsrc = $(wildcard lib/*.c) libobj = $(libsrc:.c=.o) @@ -43,6 +53,45 @@ all : all-no-mo mo all-no-mo : sync-available/sync-available \ man/grep-dctrl.1 \ $(exe) +aliases = grep-status grep-available grep-aptavail grep-debtags + +install : + $(INSTALL_DIR) $(DESTDIR)$(sysconfdir) + $(INSTALL_DIR) $(DESTDIR)$(sbindir) + $(INSTALL_DIR) $(DESTDIR)$(bindir) + $(INSTALL_DIR) $(DESTDIR)$(docdir) + $(INSTALL_DIR) $(DESTDIR)$(man1dir) + $(INSTALL_DIR) $(DESTDIR)$(man8dir) + $(INSTALL_DATA) grep-dctrl/grep-dctrl.rc $(DESTDIR)$(sysconfdir) + $(INSTALL_DATA) grep-dctrl/grep-dctrl.rc $(DESTDIR)$(sysconfdir) + $(INSTALL_PROGRAM) sync-available/sync-available $(DESTDIR)$(sbindir) + $(INSTALL_PROGRAM) join-dctrl/join-dctrl $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) tbl-dctrl/tbl-dctrl $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) sort-dctrl/sort-dctrl $(DESTDIR)$(bindir) + $(INSTALL_PROGRAM) grep-dctrl/grep-dctrl $(DESTDIR)$(bindir) + set -e ; for dest in $(aliases) ; do \ + ln -s grep-dctrl $(DESTDIR)$(bindir)/$$dest ; \ + done + $(INSTALL_DATA) man/sync-available.8 $(DESTDIR)$(man8dir)/ + gzip -9 $(DESTDIR)$(man8dir)/sync-available.8 + $(INSTALL_DATA) man/sort-dctrl.1 $(DESTDIR)$(man1dir)/ + gzip -9 $(DESTDIR)$(man1dir)/sort-dctrl.1 + $(INSTALL_DATA) man/tbl-dctrl.1 $(DESTDIR)$(man1dir)/ + gzip -9 $(DESTDIR)$(man1dir)/tbl-dctrl.1 + $(INSTALL_DATA) man/join-dctrl.1 $(DESTDIR)$(man1dir)/ + gzip -9 $(DESTDIR)$(man1dir)/join-dctrl.1 + $(INSTALL_DATA) man/grep-dctrl.1 $(DESTDIR)$(man1dir)/ + gzip -9 $(DESTDIR)$(man1dir)/grep-dctrl.1 + set -e ; for dest in $(aliases) ; do \ + ln -s grep-dctrl.1.gz $(DESTDIR)$(man1dir)/$$dest.1.gz ; \ + done + $(INSTALL_DATA) TODO README $(DESTDIR)$(docdir) + set -e ; for lang in $(langs) ; do \ + $(INSTALL_DIR) $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES ; \ + $(INSTALL_DATA) po/$$lang.mo \ + $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/dctrl-tools.mo ; \ + done + pot : po/dctrl-tools.pot diff --git a/debian/README.build-system b/debian/README.build-system deleted file mode 100644 index f51db3c..0000000 --- a/debian/README.build-system +++ /dev/null @@ -1,6 +0,0 @@ - -$Id: README.build-system,v 1.7 2004/01/06 10:30:17 ajk Exp $ - -This package uses a new experimental debian/rules helper, librules.mk, -written by Antti-Juhani Kaijanaho <ajk@debian.org>. Documentation for -it is available in the file librules-manual.txt. diff --git a/debian/changelog b/debian/changelog index 939c0a6..79badac 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,8 +3,11 @@ dctrl-tools (2.17) UNRELEASED; urgency=low * Merge 2.14.3, 2.14.4, and 2.14.5. * Removed Jon Bernard <jbernard@debian.org> from uploaders (no uploads in two years; seems to have left the team mailing list) + * Moved detailed installation from debian/rules to GNUmakefile + * Moved debian/README to ./README + * changed from my own build system to Debhelper v8 (dh). - -- Antti-Juhani Kaijanaho <ajk@debian.org> Sat, 04 Dec 2010 12:53:10 +0200 + -- Antti-Juhani Kaijanaho <ajk@debian.org> Sat, 04 Dec 2010 20:35:40 +0200 dctrl-tools (2.16) experimental; urgency=low diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +8 diff --git a/debian/conffiles b/debian/conffiles deleted file mode 100644 index d5c1f12..0000000 --- a/debian/conffiles +++ /dev/null @@ -1 +0,0 @@ -/etc/grep-dctrl.rc diff --git a/debian/control b/debian/control index 2aee454..b5e635e 100644 --- a/debian/control +++ b/debian/control @@ -4,13 +4,13 @@ Priority: optional Maintainer: dctrl-tools developers <dctrl-tools-devel@lists.alioth.debian.org> Uploaders: Antti-Juhani Kaijanaho <ajk@debian.org> Standards-Version: 3.9.1 -Build-Depends: gettext (>= 0.11-0), gcc (>= 3.0) +Build-Depends: gettext (>= 0.11-0), gcc (>= 3.0), debhelper (>= 8) Vcs-Git: git://git.debian.org/git/collab-maint/dctrl-tools.git Vcs-Browser: http://git.debian.org/?p=collab-maint/dctrl-tools.git;a=summary Package: dctrl-tools Architecture: any -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: apt, debtags Conflicts: grep-dctrl Replaces: grep-dctrl diff --git a/debian/librules-manual.txt b/debian/librules-manual.txt deleted file mode 100644 index 10e1ff9..0000000 --- a/debian/librules-manual.txt +++ /dev/null @@ -1,133 +0,0 @@ -Manual for the librules helper -*- Text -*- ------------------------------- -Last modified: 2004-01-01 - -This file documents an experimental new debian/rules helper, a -makefile called "librules.mk", which does all the boring work of -building a package. - -Usage: - -The very first non-comment thing in your debian/rules should be the -following line: -librules_interface = 2 -This helps to spot incompatibilities with debian/rules and the -librules.mk file currently in use. -(See the section "Incompatible changes" for what to look for when -upgrading from an old version.) - -Include "debian/librules.mk" just after that line. Precede it with a -variable definition "librules_native_pkg=yes" if the package you are building -is a Debian native package. - -Define a target debian/stamp/build that builds the package (like the -build target does in conventional debian/rules files). Put "touch $@" -as the last action in that rule. - -For every binary package <package> you want to build: - - - If the package is "arch: all", make debian/stamp/binary/indep depend - on debian/stamp/binary/<package>; otherwise make debian/stamp/binary/arch - depend on that target - - - Write a target debian/stamp/binary/<package> using the following template: - -debian/stamp/binary/<package>: package=<package> -debian/stamp/binary/<package>: debian/stamp/build - $(prebinary) - # Add here your own commands - $(postbinary) - touch $@ - - The $(prebinary) macro will create a skeletal build tree for the - package. It also install the copyright file (debian/copyright) - and the Debian changelog file (debian/changelog). If there is a - debian/NEWS, it will install it as NEWS.Debian to the - documentation directory, compressed. - - See below for instructions about how to write your own install commands. - - The $(postbinary) macro fixes directory permissions, generates the binary - control file and builds the package. - - - You may want to define targets "clean", "clean-binary" and "clean-build" - to reverse the effects of your own commands in the build and binary targets. - The librules.mk file cleans up for itself, you don't need to worry about that. - - -How to write your own commands for binary targets: - -Use the following macros to install files: - - $(install_exec) SOURCE TARGET - $(install_exec) SOURCE SOURCE ... DIRECTORY - installs one or more binary executables - (TARGET need not be a directory name) - - $(install_nonex) SOURCE TARGET - $(install_nonex) SOURCE SOURCE ... DIRECTORY - install one or more non-executable files - (TARGET need not be a directory name) - - $(install_dir) DIRECTORY - create the directory - - $(install_script) SOURCE TARGET - $(install_script) SOURCE SOURCE ... DIRECTORY - install one or more executable scripts - (TARGET need not be a directory name) - - $(install_prerm) - $(install_postrm) - $(install_preinst) - $(install_postinst) - install debian/prerm.$(package) etc. - to DEBIAN using the appropriate name - -The macros above are wrappers around the "install" utility. - - $(install_symlink) SOURCE [TARGET] - Install a symlink from SOURCE to TARGET - (This macro is a wrapper around ln -s) - - $(gzip) FILE ... - Compress the given files - (This is a wrapper around gzip) - - $(strip_lib) FILE ... - Strip the given files the way shared libraries are stripped - (This is a wrapper around strip) - - -*Never* refer to a file in the install target tree by their real name. -Use the following macros instead: - - $(rootdir) - the directory that masquerades as / in the target tree - (usually a subdirectory under debian/tmp) - $(ctldir) - the directory where control files are installed - (usually $(rootdir)/DEBIAN) - $(bindir) - the main binary directory - (usually $(rootdir)/usr/bin) - $(docdir) - the main doc directory - (usually $(rootdir)/usr/share/doc/<package>) - ... -(see librules.mk for what's available) - - -If your debian/rules needs the dpkg-architecture variables, add the -definition "librules_need_archvars=yes" before the include at the top -of the file. If you use this feature, you need to Build-Depend on -"dpkg-dev (>= 1.4.1.5)". - -If you want to patch/unpatch the package, add the definitions -"librules_patch_support=yes" and "librules_patches=file1.diff -file2.diff ... filen.diff" before the include at the top of the file. -If you use this, you need to Build-Depend on "patch". - - -Incompatible changes --------------------- - -From 1 to 2: - - {pre,post}{rm,inst} scripts are not installed by default - (previously prerm and postinst were unconditionally installed) diff --git a/debian/librules.mk b/debian/librules.mk deleted file mode 100644 index 298b341..0000000 --- a/debian/librules.mk +++ /dev/null @@ -1,185 +0,0 @@ -# librules.mk - a library of convenient rules and macros for debian/rules files -# -# Copyright © 1999, 2000, 2002, 2003, 2004 Antti-Juhani Kaijanaho. -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this file, to deal in this file without -# restriction, including without limitation the rights to use, copy, -# modify, merge, publish, distribute, sublicense, and/or sell copies -# of this file, and to permit persons to whom this file is furnished -# to do so, subject to the following condition: The above copyright -# notice and this permission notice shall be included in all copies or -# substantial portions of this file. -# -# THIS FILE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FIT- NESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL SOFTWARE IN THE PUBLIC INTEREST, -# INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -# IN CONNECTION WITH THIS FILE OR THE USE OR OTHER DEALINGS IN THIS -# FILE. -# -# Except as contained in this notice, the name of the author(s) of -# this file shall not be used in advertising or otherwise to promote -# the sale, use or other dealings in this file without prior written -# authorization from the author(s). - -# This file is set up to be compliant with Debian Standards Version -# 3.6.0. - -# Changes: -# 2004-01-01 ajk Install NEWS.Debian if it exists -# 2003-08-10 ajk Add $(etcdir) -# 2002-10-16 ajk Don't force installing the prerm/postinst scripts -# Instead, install them if present. -# INCOMPATIBLE CHANGE; updated interface to 2 - -default: - @echo You need to specify a target. - @exit 1 - -librules_a_variable_just_to_run_the_commands1 := $(shell mkdir debian/stamp) -librules_a_variable_just_to_run_the_commands2 := $(shell mkdir debian/stamp/binary) - -# Make sure we don't get used by an incompatible debian/rules -# WHEN YOU MAKE INCOMPATIBLE CHANGES, EDIT THIS! -ifneq ($(librules_interface),2) -$(error incompatible debian/rules) -endif - -# Standard interface targets -build: debian/stamp/build -binary: binary-indep binary-arch -binary-arch: debian/stamp/binary/arch -binary-indep: debian/stamp/binary/indep -clean: clean-build clean-binary clean-std - - -# Nonstandard interface targets -clean-build: clean-build-std -clean-binary: clean-binary-std - -# Stamp targets for the standard binary targets -debian/stamp/binary/arch: debian/stamp/build - touch $@ - -debian/stamp/binary/indep: debian/stamp/build - touch $@ - -.PHONY: default build binary binary-arch binary-indep \ - clean clean-build clean-binary - -ifeq ($(librules_need_archvars),yes) -DEB_BUILD_ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH) -DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -DEB_BUILD_GNU_CPU = $(shell dpkg-architecture -qDEB_BUILD_GNU_CPU) -DEB_BUILD_GNU_SYSTEM = $(shell dpkg-architecture -qDEB_BUILD_GNU_SYSTEM) -DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH) -DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_HOST_GNU_CPU = $(shell dpkg-architecture -qDEB_HOST_GNU_CPU) -DEB_HOST_GNU_SYSTEM = $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM) -endif - -CFLAGS = -O2 -Wall -STRIP = -ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) -CFLAGS += -g -endif -ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) -STRIP = -s -endif - -export CFLAGS - -install := install -o root -g root -install_exec := $(install) -m 0755 $(STRIP) -install_nonex := $(install) -m 0644 -install_dir := $(install) -m 0755 -d -install_script := $(install) -m 0755 -install_symlink := ln -s -gzip := gzip -9 -strip_lib := strip --strip-unneeded - -tmpdir := $(shell pwd)/debian/tmp - -# These must not be :='s! -rootdir = $(tmpdir)/$(package) -ctldir = $(rootdir)/DEBIAN -etcdir = $(rootdir)/etc -bindir = $(rootdir)/usr/bin -sbindir = $(rootdir)/usr/sbin -docdir = $(rootdir)/usr/share/doc/$(package) -exampledir = $(docdir)/examples -mandir = $(rootdir)/usr/share/man -elispdir = $(rootdir)/usr/share/emacs/site-lisp -emacs_d_dir = $(etcdir)/emacs/site-start.d -man1dir = $(mandir)/man1 -man2dir = $(mandir)/man2 -man3dir = $(mandir)/man3 -man4dir = $(mandir)/man4 -man5dir = $(mandir)/man5 -man6dir = $(mandir)/man6 -man7dir = $(mandir)/man7 -man8dir = $(mandir)/man8 -sharedir = $(rootdir)/usr/share/$(package) -libdir = $(rootdir)/usr/lib/$(package) -docbasedir = $(rootdir)/usr/share/doc-base -usrlib = $(rootdir)/usr/lib -includedir = $(rootdir)/usr/include - -ifeq ($(librules_native_pkg),yes) -librules_changelog=changelog -else -librules_changelog=changelog.Debian -endif - -install_prerm = $(install_script) debian/prerm.$(package) $(ctldir)/prerm -install_postrm = $(install_script) debian/postrm.$(package) $(ctldir)/postrm -install_preinst = $(install_script) debian/preinst.$(package) $(ctldir)/preinst -install_postinst = $(install_script) debian/postinst.$(package) $(ctldir)/postinst - - -define prebinary - $(RM) -r $(rootdir) - $(install_dir) $(ctldir) - $(install_dir) $(docdir) - $(install_nonex) debian/copyright $(docdir) - $(install_nonex) debian/changelog $(docdir)/$(librules_changelog) - set -e ; if test -e debian/NEWS ; then \ - $(install_nonex) debian/NEWS $(docdir)/NEWS.Debian ; \ - $(gzip) $(docdir)/NEWS.Debian ; \ - fi - $(gzip) $(docdir)/$(librules_changelog) -endef - -define postbinary - chmod -R g-s $(rootdir) - dpkg-gencontrol -isp -p$(package) -P$(rootdir) $(gencontrol_options) - dpkg --build $(rootdir) .. -endef - -clean-build-std: - rm -f debian/stamp/build - -clean-binary-std: - rm -f debian/stamp/binary/* - rm -f debian/files debian/substvars - rm -rf $(tmpdir) - -clean-std: - rm -rf debian/stamp/ - -# Patching support -ifeq ($(librules_patch_support),yes) -debian/stamp/build: debian/stamp/patch -clean-build: unpatch - -debian/stamp/patch: - $(foreach patch, $(librules_patches), patch -fs < $(patch) && )true - touch $@ - -unpatch: debian/stamp/patch - $(foreach patch, $(librules_patches), patch -fsR < $(patch) && )true - rm -f debian/stamp/patch -endif diff --git a/debian/rules b/debian/rules index ed43a7a..1502da9 100755 --- a/debian/rules +++ b/debian/rules @@ -2,82 +2,8 @@ # Written by Antti-Juhani Kaijanaho <ajk@debian.org>. # You may treat this file as if it were in the public domain. -librules_interface = 2 -librules_native_pkg=yes -include debian/librules.mk +%: + dh $@ -include langs.mk - -debian/stamp/build: #debian/stamp/build-configure - $(MAKE) CC=gcc CFLAGS="-O2 -g -Wall" - -$(MAKE) test - touch $@ - -#debian/stamp/build-configure: -# ./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share -# touch $@ - -clean-build: - $(MAKE) clean - -debian/stamp/binary/arch: debian/stamp/binary/dctrl-tools - -aliases = grep-status grep-available grep-aptavail grep-debtags - -debian/stamp/binary/dctrl-tools: package=dctrl-tools -debian/stamp/binary/dctrl-tools: debian/stamp/build - $(prebinary) -# Install by the master makefile -# $(MAKE) prefix=$(rootdir)/usr sysconfdir=$(rootdir)/etc \ -# mandir=$(mandir) install -# Install configuration file - $(install_dir) $(etcdir) - $(install_nonex) grep-dctrl/grep-dctrl.rc $(etcdir) -# Install the binaries. - $(install_dir) $(sbindir) - $(install_script) sync-available/sync-available $(sbindir) - $(install_dir) $(bindir) - $(install_exec) join-dctrl/join-dctrl $(bindir) - $(install_exec) tbl-dctrl/tbl-dctrl $(bindir) - $(install_exec) sort-dctrl/sort-dctrl $(bindir) - $(install_exec) grep-dctrl/grep-dctrl $(bindir) - set -e ; for dest in $(aliases) ; do \ - $(install_symlink) grep-dctrl $(bindir)/$$dest ; \ - done -# Install and zip the manual pages. - $(install_dir) $(man8dir) - $(install_nonex) man/sync-available.8 $(man8dir)/ - $(gzip) $(man8dir)/sync-available.8 - $(install_dir) $(man1dir) - $(install_nonex) man/sort-dctrl.1 $(man1dir)/ - $(gzip) $(man1dir)/sort-dctrl.1 - $(install_nonex) man/tbl-dctrl.1 $(man1dir)/ - $(gzip) $(man1dir)/tbl-dctrl.1 - $(install_nonex) man/join-dctrl.1 $(man1dir)/ - $(gzip) $(man1dir)/join-dctrl.1 - $(install_nonex) man/grep-dctrl.1 $(man1dir)/ - $(gzip) $(man1dir)/grep-dctrl.1 - set -e ; for dest in $(aliases) ; do \ - $(install_symlink) grep-dctrl.1.gz $(man1dir)/$$dest.1.gz ; \ - done -# Install the supporting documentation. - $(install_nonex) TODO $(docdir) - $(install_nonex) debian/README $(docdir)/README.Debian -# Install message catalogues - set -e ; for lang in $(langs) ; do \ - $(install_dir) $(rootdir)/usr/share/locale/$$lang/LC_MESSAGES ; \ - $(install_nonex) po/$$lang.mo \ - $(rootdir)/usr/share/locale/$$lang/LC_MESSAGES/$(package).mo ; \ - done -# Install config file information - $(install_nonex) debian/conffiles $(rootdir)/DEBIAN -# Get the shared library deps - dpkg-shlibdeps $(bindir)/grep-dctrl \ - $(bindir)/sort-dctrl \ - $(bindir)/tbl-dctrl \ - $(bindir)/join-dctrl - $(postbinary) - touch $@ - -clean-binary: - $(RM) *~ */*~ +override_dh_auto_install: + dh_auto_install -- prefix=/usr sysconfdir=/etc |