Hello,
I am trying to build my own package (containing only few shell
scripts) to make easier the system maintainance specific to our
department. I followed the instruction in the Debian New Maintainer's
Guide, but I probably misunderstood something, since I have the
following problems:
* I store all the scripts in a tarball, so all I have to do is to unpack
them in the respective directory during the "make install" stage (i.e.
no compilation is needed). I succeeded to do so by introducing the
following Makefile:
-------------
clean:
rm -fr debian/ucjf-security
install:
cd $(DESTDIR) ; \
tar -xvzf ../../../ucjf-security_1.0.1.orig.tar.gz
--------------
It works, however I would expect that the path to a tarball can be
specified in a better way (is there any variable containing the top
directory name ?). Also, the version should not be hardcoded there, I
guess. Is there a way to tell the Makefile to use the latest
version/same version as is the name of the working directory ?
* since the pakcage contains only few shell scripts, it should be
architecture-independent. Therefore, I specified "Architecture: any" in
the "control" file and also moved all the action in the "rules" file
into the binary-indep section (see attachment).... However, the
resulting package still contains in its control file the item
"Architecture: i386" (which is where the package is produced, but ....).
* the script don't have any config file, therefore I didn't introduce
the "conffiles" in the debian directory. However, the resulting package
contains in its conffiles the first file of the tarball. Is there a good
reason for that ? How do I get rid off this feature ?
* the man pages installation works pretty well, the only problem is that
the mandb is not updated after the package installation. It means user
can display the new manpage, but "man -k" does not find it. One would
need to run mandb automatically - should this be done via postinst
(postrm) scripts or is there a simpler way to do so ?
Thanks a lot for any hint,
best regards
Tomas
E-mail : [EMAIL PROTECTED],
[EMAIL PROTECTED]
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
configure: configure-stamp
configure-stamp:
dh_testdir
# Add here commands to configure the package.
touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
dh_testdir
# Add here commands to compile the package.
$(MAKE)
#docbook-to-man debian/ucjf-security.sgml > ucjf-security.1
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
-$(MAKE) clean
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package into debian/ucjf-security.
$(MAKE) install DESTDIR=$(CURDIR)/debian/ucjf-security
# Build architecture-independent files here. Everything here, since we have
# just set of scripts:
binary-indep: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs README TODO
dh_installexamples
# dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman ucjf-security.8
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_python
# dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
# Build architecture-dependent files here.
binary-arch: build install
# We have nothing to do by default.
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure