Hi Alessandro, hi Brian,

I had some time and so I checked the debian directory of OpenCA at smog.lngs.infn.it:8081. I found some problematical things but be warned I never looked into such Debian details before:

1. control
==========

It is no longer necessary to have two node packages. I removed the option --with-hierarchy-level from configure and moved it to config.xml. The result is a single package openca-node. openca-ca-node and openca-ra-node can be removed.

The descriptions can be fixed later.

2. openca-ext.dirs
==================

What is the reason for this file?

3. rules
========

It is no longer necessary to compile the offline (CA) stuff seperated from the online (RA) stuff. There is also a new makefile Makefile.devel which can be used to create files like configure with the correct tools of this debian version. I changed rules for two different flavours (see attached files).

Michael
--
-------------------------------------------------------------------
Michael Bell                   Email: [EMAIL PROTECTED]
ZE Computer- und Medienservice            Tel.: +49 (0)30-2093 2482
(Computing Centre)                        Fax:  +49 (0)30-2093 2704
Humboldt-University of Berlin
Unter den Linden 6
10099 Berlin                   Email (private): [EMAIL PROTECTED]
Germany                                       http://www.openca.org
--- rules.org   2004-01-06 14:29:32.000000000 +0100
+++ rules.new_1 2004-01-06 14:32:43.000000000 +0100
@@ -29,10 +29,8 @@
 config.status: configure
        dh_testdir
        # Add here commands to configure the package.
-       mkdir build-ca
-       cp -a configure configure.in Makefile Makefile.global-vars.in install-sh src 
docs contrib build-ca
-       touch build-ca/configure
-       cd build-ca && ./configure --host=$(DEB_HOST_GNU_TYPE) 
--build=$(DEB_BUILD_GNU_TYPE) --mandir=\$${prefix}/share/man 
--infodir=\$${prefix}/share/info \
+       make -f Makefile.devel force-auto-files
+       ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) 
--mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \
                --prefix=/usr \
                --enable-ocspd \
                --with-etc-prefix=/etc/openca \
@@ -42,34 +40,14 @@
                --with-httpd-user=www-data \
                --with-httpd-group=www-data \
                --enable-package-build \
-               --with-web-host=www.example.com \
-               --with-hierarchy-level=ca \
-
-       mkdir build-ra
-       cp -a configure configure.in Makefile Makefile.global-vars.in install-sh src 
docs contrib build-ra
-       touch build-ra/configure
-       cd build-ra && ./configure --host=$(DEB_HOST_GNU_TYPE) 
--build=$(DEB_BUILD_GNU_TYPE) --mandir=\$${prefix}/share/man 
--infodir=\$${prefix}/share/info \
-               --prefix=/usr \
-               --enable-ocspd \
-               --with-etc-prefix=/etc/openca \
-               --with-lib-prefix=/usr/share/openca \
-               --with-var-prefix=/var/lib/openca \
-               --with-httpd-fs-prefix=/usr/share/openca \
-               --with-httpd-user=www-data \
-               --with-httpd-group=www-data \
-               --enable-package-build \
-               --with-web-host=www.example.com \
-               --with-hierarchy-level=ra \
-       
+               --with-web-host=www.example.com
        touch config.status
 
 build-arch:  config.status build-arch-stamp
 build-arch-stamp:
        dh_testdir
 
-       $(MAKE) -C build-ca ca
-       $(MAKE) -C build-ca ext
-       $(MAKE) -C build-ra ext
+       $(MAKE)
 
        touch build-arch-stamp
 
@@ -77,7 +55,8 @@
 build-indep-stamp:
        dh_testdir
 
-       $(MAKE) -C build-ca doc
+       ## $(MAKE) without doc works too
+       $(MAKE) doc
 
        touch build-indep-stamp
 
@@ -87,7 +66,6 @@
        dh_testdir
        dh_testroot
        rm -f build-stamp  build-arch-stamp build-indep-stamp
-       rm -rf build-ca build-ra
 
        # Add here commands to clean up after the build process.
        #-$(MAKE) clean
@@ -107,24 +85,21 @@
        dh_installdirs
 
        # Add here commands to install the package into debian/openca-*.
-       $(MAKE) -C build-ca install-common DESTDIR=$(CURDIR)/debian/openca-common
-       $(MAKE) -C build-ca/src/modules install DESTDIR=$(CURDIR)/debian/openca-common
-       $(MAKE) -C build-ca/src/openca-sv install 
DESTDIR=$(CURDIR)/debian/openca-common
-       $(MAKE) -C build-ca/src/ocspd install DESTDIR=$(CURDIR)/debian/openca-common 
sysconfdir=$(CURDIR)/debian/openca-common/etc/
+       $(MAKE) install-common DESTDIR=$(CURDIR)/debian/openca-common
+       $(MAKE) -C src/modules install DESTDIR=$(CURDIR)/debian/openca-common
+       $(MAKE) -C src/openca-sv install DESTDIR=$(CURDIR)/debian/openca-common
+       $(MAKE) -C src/ocspd install DESTDIR=$(CURDIR)/debian/openca-common 
sysconfdir=$(CURDIR)/debian/openca-common/etc/
        # remove this since the init scripts will be installed by the deb package
        rm $(CURDIR)/debian/openca-common/etc/init.d/rcd.ocspd
        # these files should not be overwritten, but created on initial install
        rm debian/openca-common/var/lib/openca/crypto/index.txt
        rm debian/openca-common/var/lib/openca/crypto/serial
-       $(MAKE) -C build-ca install-ldap DESTDIR=$(CURDIR)/debian/openca-ldap 
-       $(MAKE) -C build-ca install-pub DESTDIR=$(CURDIR)/debian/openca-pub
-       $(MAKE) -C build-ca install-doc DESTDIR=$(CURDIR)/debian/openca-doc
-
-       # build-ca vs build-ra are only different for these modules
-       $(MAKE) -C build-ca install-ca DESTDIR=$(CURDIR)/debian/openca-ca
-       $(MAKE) -C build-ca install-node DESTDIR=$(CURDIR)/debian/openca-ca-node
-       $(MAKE) -C build-ra install-ra DESTDIR=$(CURDIR)/debian/openca-ra
-       $(MAKE) -C build-ra install-node DESTDIR=$(CURDIR)/debian/openca-ra-node
+       $(MAKE) install-ldap DESTDIR=$(CURDIR)/debian/openca-ldap 
+       $(MAKE) install-pub DESTDIR=$(CURDIR)/debian/openca-pub
+       $(MAKE) install-doc DESTDIR=$(CURDIR)/debian/openca-doc
+       $(MAKE) install-ca DESTDIR=$(CURDIR)/debian/openca-ca
+       $(MAKE) install-node DESTDIR=$(CURDIR)/debian/openca-node
+       $(MAKE) install-ra DESTDIR=$(CURDIR)/debian/openca-ra
 
 notdoneanymore:
        ########################################
--- rules.org   2004-01-06 14:29:32.000000000 +0100
+++ rules.new_2 2004-01-06 14:37:12.000000000 +0100
@@ -29,10 +29,10 @@
 config.status: configure
        dh_testdir
        # Add here commands to configure the package.
-       mkdir build-ca
-       cp -a configure configure.in Makefile Makefile.global-vars.in install-sh src 
docs contrib build-ca
-       touch build-ca/configure
-       cd build-ca && ./configure --host=$(DEB_HOST_GNU_TYPE) 
--build=$(DEB_BUILD_GNU_TYPE) --mandir=\$${prefix}/share/man 
--infodir=\$${prefix}/share/info \
+       mkdir build
+       cp -a configure.in Makefile Makefile.global-vars.in install-sh src docs 
contrib build
+       make -C build -f Makefile.devel force-auto-files
+       cd build && ./configure --host=$(DEB_HOST_GNU_TYPE) 
--build=$(DEB_BUILD_GNU_TYPE) --mandir=\$${prefix}/share/man 
--infodir=\$${prefix}/share/info \
                --prefix=/usr \
                --enable-ocspd \
                --with-etc-prefix=/etc/openca \
@@ -42,34 +42,14 @@
                --with-httpd-user=www-data \
                --with-httpd-group=www-data \
                --enable-package-build \
-               --with-web-host=www.example.com \
-               --with-hierarchy-level=ca \
-
-       mkdir build-ra
-       cp -a configure configure.in Makefile Makefile.global-vars.in install-sh src 
docs contrib build-ra
-       touch build-ra/configure
-       cd build-ra && ./configure --host=$(DEB_HOST_GNU_TYPE) 
--build=$(DEB_BUILD_GNU_TYPE) --mandir=\$${prefix}/share/man 
--infodir=\$${prefix}/share/info \
-               --prefix=/usr \
-               --enable-ocspd \
-               --with-etc-prefix=/etc/openca \
-               --with-lib-prefix=/usr/share/openca \
-               --with-var-prefix=/var/lib/openca \
-               --with-httpd-fs-prefix=/usr/share/openca \
-               --with-httpd-user=www-data \
-               --with-httpd-group=www-data \
-               --enable-package-build \
-               --with-web-host=www.example.com \
-               --with-hierarchy-level=ra \
-       
+               --with-web-host=www.example.com
        touch config.status
 
 build-arch:  config.status build-arch-stamp
 build-arch-stamp:
        dh_testdir
 
-       $(MAKE) -C build-ca ca
-       $(MAKE) -C build-ca ext
-       $(MAKE) -C build-ra ext
+       $(MAKE) -C build
 
        touch build-arch-stamp
 
@@ -77,7 +57,8 @@
 build-indep-stamp:
        dh_testdir
 
-       $(MAKE) -C build-ca doc
+       ## $(MAKE) without doc works too
+       $(MAKE) -C build doc
 
        touch build-indep-stamp
 
@@ -87,7 +68,7 @@
        dh_testdir
        dh_testroot
        rm -f build-stamp  build-arch-stamp build-indep-stamp
-       rm -rf build-ca build-ra
+       rm -rf build
 
        # Add here commands to clean up after the build process.
        #-$(MAKE) clean
@@ -107,24 +88,21 @@
        dh_installdirs
 
        # Add here commands to install the package into debian/openca-*.
-       $(MAKE) -C build-ca install-common DESTDIR=$(CURDIR)/debian/openca-common
-       $(MAKE) -C build-ca/src/modules install DESTDIR=$(CURDIR)/debian/openca-common
-       $(MAKE) -C build-ca/src/openca-sv install 
DESTDIR=$(CURDIR)/debian/openca-common
-       $(MAKE) -C build-ca/src/ocspd install DESTDIR=$(CURDIR)/debian/openca-common 
sysconfdir=$(CURDIR)/debian/openca-common/etc/
+       $(MAKE) -C build install-common DESTDIR=$(CURDIR)/debian/openca-common
+       $(MAKE) -C build/src/modules install DESTDIR=$(CURDIR)/debian/openca-common
+       $(MAKE) -C build/src/openca-sv install DESTDIR=$(CURDIR)/debian/openca-common
+       $(MAKE) -C build/src/ocspd install DESTDIR=$(CURDIR)/debian/openca-common 
sysconfdir=$(CURDIR)/debian/openca-common/etc/
        # remove this since the init scripts will be installed by the deb package
        rm $(CURDIR)/debian/openca-common/etc/init.d/rcd.ocspd
        # these files should not be overwritten, but created on initial install
        rm debian/openca-common/var/lib/openca/crypto/index.txt
        rm debian/openca-common/var/lib/openca/crypto/serial
-       $(MAKE) -C build-ca install-ldap DESTDIR=$(CURDIR)/debian/openca-ldap 
-       $(MAKE) -C build-ca install-pub DESTDIR=$(CURDIR)/debian/openca-pub
-       $(MAKE) -C build-ca install-doc DESTDIR=$(CURDIR)/debian/openca-doc
-
-       # build-ca vs build-ra are only different for these modules
-       $(MAKE) -C build-ca install-ca DESTDIR=$(CURDIR)/debian/openca-ca
-       $(MAKE) -C build-ca install-node DESTDIR=$(CURDIR)/debian/openca-ca-node
-       $(MAKE) -C build-ra install-ra DESTDIR=$(CURDIR)/debian/openca-ra
-       $(MAKE) -C build-ra install-node DESTDIR=$(CURDIR)/debian/openca-ra-node
+       $(MAKE) -C build install-ldap DESTDIR=$(CURDIR)/debian/openca-ldap 
+       $(MAKE) -C build install-pub DESTDIR=$(CURDIR)/debian/openca-pub
+       $(MAKE) -C build install-doc DESTDIR=$(CURDIR)/debian/openca-doc
+       $(MAKE) -C build install-ca DESTDIR=$(CURDIR)/debian/openca-ca
+       $(MAKE) -C build install-node DESTDIR=$(CURDIR)/debian/openca-node
+       $(MAKE) -C build install-ra DESTDIR=$(CURDIR)/debian/openca-ra
 
 notdoneanymore:
        ########################################
#!/usr/bin/make -f
# 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-independent
# package.

# Uncomment this to turn on verbose mode. 
#export DH_VERBOSE=1

# This is the debhelper compatibility version to use.
export DH_COMPAT=3

# 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)

export PERL_MM_OPT=INSTALLDIRS=vendor

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -g
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
        INSTALL_PROGRAM += -s
endif

config.status: configure
        dh_testdir
        # Add here commands to configure the package.
        make -f Makefile.devel force-auto-files
        ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) 
--mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \
                --prefix=/usr \
                --enable-ocspd \
                --with-etc-prefix=/etc/openca \
                --with-lib-prefix=/usr/share/openca \
                --with-var-prefix=/var/lib/openca \
                --with-httpd-fs-prefix=/usr/share/openca \
                --with-httpd-user=www-data \
                --with-httpd-group=www-data \
                --enable-package-build \
                --with-web-host=www.example.com
        touch config.status

build-arch:  config.status build-arch-stamp
build-arch-stamp:
        dh_testdir

        $(MAKE)

        touch build-arch-stamp

build-indep: config.status  build-indep-stamp
build-indep-stamp:
        dh_testdir

        ## $(MAKE) without doc works too
        $(MAKE) doc

        touch build-indep-stamp

build: build-arch build-indep

clean:
        dh_testdir
        dh_testroot
        rm -f build-stamp  build-arch-stamp build-indep-stamp

        # Add here commands to clean up after the build process.
        #-$(MAKE) clean
        rm -f config.status src/modules/openca-sv/config.status
        #-test -r /usr/share/misc/config.sub && \
        #  cp -f /usr/share/misc/config.sub config.sub
        #-test -r /usr/share/misc/config.guess && \
        #  cp -f /usr/share/misc/config.guess config.guess

        dh_clean

install: DH_OPTIONS=
install: build
        dh_testdir
        dh_testroot
        dh_clean -k
        dh_installdirs

        # Add here commands to install the package into debian/openca-*.
        $(MAKE) install-common DESTDIR=$(CURDIR)/debian/openca-common
        $(MAKE) -C src/modules install DESTDIR=$(CURDIR)/debian/openca-common
        $(MAKE) -C src/openca-sv install DESTDIR=$(CURDIR)/debian/openca-common
        $(MAKE) -C src/ocspd install DESTDIR=$(CURDIR)/debian/openca-common 
sysconfdir=$(CURDIR)/debian/openca-common/etc/
        # remove this since the init scripts will be installed by the deb package
        rm $(CURDIR)/debian/openca-common/etc/init.d/rcd.ocspd
        # these files should not be overwritten, but created on initial install
        rm debian/openca-common/var/lib/openca/crypto/index.txt
        rm debian/openca-common/var/lib/openca/crypto/serial
        $(MAKE) install-ldap DESTDIR=$(CURDIR)/debian/openca-ldap 
        $(MAKE) install-pub DESTDIR=$(CURDIR)/debian/openca-pub
        $(MAKE) install-doc DESTDIR=$(CURDIR)/debian/openca-doc
        $(MAKE) install-ca DESTDIR=$(CURDIR)/debian/openca-ca
        $(MAKE) install-node DESTDIR=$(CURDIR)/debian/openca-node
        $(MAKE) install-ra DESTDIR=$(CURDIR)/debian/openca-ra

notdoneanymore:
        ########################################
        # Replace config files with *.in files #
        ########################################
        mkdir -p debian/tmp/etc/openca/openssl/extfiles.in
        mkdir -p debian/tmp/etc/openca/openssl/openssl.in

        # /etc/openca/openssl/extfiles/*
        find debian/tmp/etc/openca/openssl/extfiles -type f -maxdepth 1 | xargs rm -f
        install -m644 src/conf/openssl/extfiles/*.in 
debian/tmp/etc/openca/openssl/extfiles.in

        # /etc/openca/openssl/openssl/*
        find debian/tmp/etc/openca/openssl/openssl -type f -maxdepth 1 | xargs rm -f
        install -m644 src/conf/openssl/openssl/*.in 
debian/tmp/etc/openca/openssl/openssl.in
        
        # /etc/openca/openssl/*
        find debian/tmp/etc/openca/openssl -type f -maxdepth 1 | xargs rm -f
        install -m644 src/conf/openssl/*.in debian/tmp/etc/openca/openssl
        install -m644 src/conf/openssl/ca-openssl.cnf.in 
debian/tmp/etc/openca/openssl/openssl.cnf.in

        # /etc/openca/servers/*
        find debian/tmp/etc/openca/servers -type f -maxdepth 1 | xargs rm -f
        install -m644 src/cgi-bin/cgi-ca/conf/*.in debian/tmp/etc/openca/servers
        install -m644 src/cgi-bin/cgi-raserver/conf/raserver.conf.in 
debian/tmp/etc/openca/servers/ra.conf.in
        install -m644 src/cgi-bin/cgi-public/conf/public.conf.in 
debian/tmp/etc/openca/servers/pub.conf.in
        install -m644 src/cgi-bin/cgi-ldap/conf/ldap.conf.in 
debian/tmp/etc/openca/servers/ldap.conf.in
        install -m644 src/cgi-bin/cgi-online/conf/online.conf.in 
debian/tmp/etc/openca/servers/online.conf.in
        
        # /etc/openca/rbac
        mv debian/tmp/etc/openca/rbac debian/tmp/etc/openca/rbac.in

        # /usr/share/openca/servers/ra/certsMail.txt
        rm -f debian/tmp/usr/share/openca/servers/ra/certsMail.txt
        install -m644 src/cgi-bin/txt/certsMail.txt.in 
debian/tmp/usr/share/openca/servers/ra/certsMail.txt

        # actual configuration
        install -m644 debian/config debian/tmp/etc/openca/config
        install -m755 debian/install_config debian/tmp/etc/openca/install_config

        ############################
        # move files into packages #
        ############################
        dh_movefiles
        #find debian/openca-common -type d -empty | xargs rmdir -p 
--ignore-fail-on-non-empty

        ###########################
        # add missing directories #
        ###########################
        mkdir -p debian/openca-common/etc/openca/openssl/openssl
        mkdir -p debian/openca-common/etc/openca/openssl/extfiles
        mkdir -p debian/openca-common/var/lib/openca/db
        mkdir -p debian/openca-common/var/lib/openca/tmp
        mkdir -p debian/openca-common/var/lib/openca/crypto/keys
        mkdir -p debian/openca-common/var/lib/openca/crypto/cacerts
        mkdir -p debian/openca-common/var/lib/openca/crypto/certs
        mkdir -p debian/openca-common/var/lib/openca/crypto/reqs
        mkdir -p debian/openca-common/var/lib/openca/crypto/crls

# Build architecture-independent files here.
# Pass -i to all debhelper commands in this target to reduce clutter.
binary-indep: build install
        dh_testdir -i
        dh_testroot -i
#       dh_installdebconf -i
        dh_installdocs -i
        dh_installexamples -i
        dh_installmenu -i
#       dh_installlogrotate -i
#       dh_installemacsen -i
#       dh_installpam -i
#       dh_installmime -i
        dh_installinit -i
        dh_installcron -i
#       dh_installman -i
        dh_installinfo -i
#       dh_undocumented -i
        dh_installchangelogs -i
        dh_link -i
        dh_compress -i
#       find debian -ls > /tmp/list
        dh_fixperms -i
        find debian/openca-*/var/lib/openca -type d | xargs chown www-data:www-data
        find debian/openca-*/var/lib/openca -type d | xargs chmod 750
        dh_installdeb -i
        dh_perl -i
        dh_gencontrol -i
        dh_md5sums -i
        dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build install
        dh_testdir -a
        dh_testroot -a
#       dh_installdebconf -a
        dh_installdocs -a
        dh_installexamples -a
        dh_installmenu -a
#       dh_installlogrotate -a
#       dh_installemacsen -a
#       dh_installpam -a
#       dh_installmime -a
        dh_installinit -a
        dh_installcron -a
#       dh_installman -a
        dh_installinfo -a
#       dh_undocumented -a
        dh_installchangelogs -a
        dh_strip -a
        dh_link -a
        dh_compress -a
        dh_fixperms -a
        chown www-data:www-data debian/openca-common/etc/openca/rbac/cmds/*
        chown www-data:www-data debian/openca-common/etc/openca/rbac/*
        chown www-data:www-data debian/openca-common/etc/openca/rbac
        find debian/openca-common/var/lib/openca -type d | xargs chown 
www-data:www-data
        find debian/openca-common/var/lib/openca -type d | xargs chmod 750
        find debian/openca-common/var/lib/openca -type f | xargs chown 
www-data:www-data
        find debian/openca-common/var/lib/openca -type f | xargs chmod 640
#       dh_makeshlibs -a
        dh_installdeb -a
        dh_perl -a
        dh_shlibdeps -a
        dh_gencontrol -a
        dh_md5sums -a
        dh_builddeb -a

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install 
#!/usr/bin/make -f
# 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-independent
# package.

# Uncomment this to turn on verbose mode. 
#export DH_VERBOSE=1

# This is the debhelper compatibility version to use.
export DH_COMPAT=3

# 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)

export PERL_MM_OPT=INSTALLDIRS=vendor

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -g
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
        INSTALL_PROGRAM += -s
endif

config.status: configure
        dh_testdir
        # Add here commands to configure the package.
        mkdir build
        cp -a configure.in Makefile Makefile.global-vars.in install-sh src docs 
contrib build
        make -C build -f Makefile.devel force-auto-files
        cd build && ./configure --host=$(DEB_HOST_GNU_TYPE) 
--build=$(DEB_BUILD_GNU_TYPE) --mandir=\$${prefix}/share/man 
--infodir=\$${prefix}/share/info \
                --prefix=/usr \
                --enable-ocspd \
                --with-etc-prefix=/etc/openca \
                --with-lib-prefix=/usr/share/openca \
                --with-var-prefix=/var/lib/openca \
                --with-httpd-fs-prefix=/usr/share/openca \
                --with-httpd-user=www-data \
                --with-httpd-group=www-data \
                --enable-package-build \
                --with-web-host=www.example.com
        touch config.status

build-arch:  config.status build-arch-stamp
build-arch-stamp:
        dh_testdir

        $(MAKE) -C build

        touch build-arch-stamp

build-indep: config.status  build-indep-stamp
build-indep-stamp:
        dh_testdir

        ## $(MAKE) without doc works too
        $(MAKE) -C build doc

        touch build-indep-stamp

build: build-arch build-indep

clean:
        dh_testdir
        dh_testroot
        rm -f build-stamp  build-arch-stamp build-indep-stamp
        rm -rf build

        # Add here commands to clean up after the build process.
        #-$(MAKE) clean
        rm -f config.status src/modules/openca-sv/config.status
        #-test -r /usr/share/misc/config.sub && \
        #  cp -f /usr/share/misc/config.sub config.sub
        #-test -r /usr/share/misc/config.guess && \
        #  cp -f /usr/share/misc/config.guess config.guess

        dh_clean

install: DH_OPTIONS=
install: build
        dh_testdir
        dh_testroot
        dh_clean -k
        dh_installdirs

        # Add here commands to install the package into debian/openca-*.
        $(MAKE) -C build install-common DESTDIR=$(CURDIR)/debian/openca-common
        $(MAKE) -C build/src/modules install DESTDIR=$(CURDIR)/debian/openca-common
        $(MAKE) -C build/src/openca-sv install DESTDIR=$(CURDIR)/debian/openca-common
        $(MAKE) -C build/src/ocspd install DESTDIR=$(CURDIR)/debian/openca-common 
sysconfdir=$(CURDIR)/debian/openca-common/etc/
        # remove this since the init scripts will be installed by the deb package
        rm $(CURDIR)/debian/openca-common/etc/init.d/rcd.ocspd
        # these files should not be overwritten, but created on initial install
        rm debian/openca-common/var/lib/openca/crypto/index.txt
        rm debian/openca-common/var/lib/openca/crypto/serial
        $(MAKE) -C build install-ldap DESTDIR=$(CURDIR)/debian/openca-ldap 
        $(MAKE) -C build install-pub DESTDIR=$(CURDIR)/debian/openca-pub
        $(MAKE) -C build install-doc DESTDIR=$(CURDIR)/debian/openca-doc
        $(MAKE) -C build install-ca DESTDIR=$(CURDIR)/debian/openca-ca
        $(MAKE) -C build install-node DESTDIR=$(CURDIR)/debian/openca-node
        $(MAKE) -C build install-ra DESTDIR=$(CURDIR)/debian/openca-ra

notdoneanymore:
        ########################################
        # Replace config files with *.in files #
        ########################################
        mkdir -p debian/tmp/etc/openca/openssl/extfiles.in
        mkdir -p debian/tmp/etc/openca/openssl/openssl.in

        # /etc/openca/openssl/extfiles/*
        find debian/tmp/etc/openca/openssl/extfiles -type f -maxdepth 1 | xargs rm -f
        install -m644 src/conf/openssl/extfiles/*.in 
debian/tmp/etc/openca/openssl/extfiles.in

        # /etc/openca/openssl/openssl/*
        find debian/tmp/etc/openca/openssl/openssl -type f -maxdepth 1 | xargs rm -f
        install -m644 src/conf/openssl/openssl/*.in 
debian/tmp/etc/openca/openssl/openssl.in
        
        # /etc/openca/openssl/*
        find debian/tmp/etc/openca/openssl -type f -maxdepth 1 | xargs rm -f
        install -m644 src/conf/openssl/*.in debian/tmp/etc/openca/openssl
        install -m644 src/conf/openssl/ca-openssl.cnf.in 
debian/tmp/etc/openca/openssl/openssl.cnf.in

        # /etc/openca/servers/*
        find debian/tmp/etc/openca/servers -type f -maxdepth 1 | xargs rm -f
        install -m644 src/cgi-bin/cgi-ca/conf/*.in debian/tmp/etc/openca/servers
        install -m644 src/cgi-bin/cgi-raserver/conf/raserver.conf.in 
debian/tmp/etc/openca/servers/ra.conf.in
        install -m644 src/cgi-bin/cgi-public/conf/public.conf.in 
debian/tmp/etc/openca/servers/pub.conf.in
        install -m644 src/cgi-bin/cgi-ldap/conf/ldap.conf.in 
debian/tmp/etc/openca/servers/ldap.conf.in
        install -m644 src/cgi-bin/cgi-online/conf/online.conf.in 
debian/tmp/etc/openca/servers/online.conf.in
        
        # /etc/openca/rbac
        mv debian/tmp/etc/openca/rbac debian/tmp/etc/openca/rbac.in

        # /usr/share/openca/servers/ra/certsMail.txt
        rm -f debian/tmp/usr/share/openca/servers/ra/certsMail.txt
        install -m644 src/cgi-bin/txt/certsMail.txt.in 
debian/tmp/usr/share/openca/servers/ra/certsMail.txt

        # actual configuration
        install -m644 debian/config debian/tmp/etc/openca/config
        install -m755 debian/install_config debian/tmp/etc/openca/install_config

        ############################
        # move files into packages #
        ############################
        dh_movefiles
        #find debian/openca-common -type d -empty | xargs rmdir -p 
--ignore-fail-on-non-empty

        ###########################
        # add missing directories #
        ###########################
        mkdir -p debian/openca-common/etc/openca/openssl/openssl
        mkdir -p debian/openca-common/etc/openca/openssl/extfiles
        mkdir -p debian/openca-common/var/lib/openca/db
        mkdir -p debian/openca-common/var/lib/openca/tmp
        mkdir -p debian/openca-common/var/lib/openca/crypto/keys
        mkdir -p debian/openca-common/var/lib/openca/crypto/cacerts
        mkdir -p debian/openca-common/var/lib/openca/crypto/certs
        mkdir -p debian/openca-common/var/lib/openca/crypto/reqs
        mkdir -p debian/openca-common/var/lib/openca/crypto/crls

# Build architecture-independent files here.
# Pass -i to all debhelper commands in this target to reduce clutter.
binary-indep: build install
        dh_testdir -i
        dh_testroot -i
#       dh_installdebconf -i
        dh_installdocs -i
        dh_installexamples -i
        dh_installmenu -i
#       dh_installlogrotate -i
#       dh_installemacsen -i
#       dh_installpam -i
#       dh_installmime -i
        dh_installinit -i
        dh_installcron -i
#       dh_installman -i
        dh_installinfo -i
#       dh_undocumented -i
        dh_installchangelogs -i
        dh_link -i
        dh_compress -i
#       find debian -ls > /tmp/list
        dh_fixperms -i
        find debian/openca-*/var/lib/openca -type d | xargs chown www-data:www-data
        find debian/openca-*/var/lib/openca -type d | xargs chmod 750
        dh_installdeb -i
        dh_perl -i
        dh_gencontrol -i
        dh_md5sums -i
        dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: build install
        dh_testdir -a
        dh_testroot -a
#       dh_installdebconf -a
        dh_installdocs -a
        dh_installexamples -a
        dh_installmenu -a
#       dh_installlogrotate -a
#       dh_installemacsen -a
#       dh_installpam -a
#       dh_installmime -a
        dh_installinit -a
        dh_installcron -a
#       dh_installman -a
        dh_installinfo -a
#       dh_undocumented -a
        dh_installchangelogs -a
        dh_strip -a
        dh_link -a
        dh_compress -a
        dh_fixperms -a
        chown www-data:www-data debian/openca-common/etc/openca/rbac/cmds/*
        chown www-data:www-data debian/openca-common/etc/openca/rbac/*
        chown www-data:www-data debian/openca-common/etc/openca/rbac
        find debian/openca-common/var/lib/openca -type d | xargs chown 
www-data:www-data
        find debian/openca-common/var/lib/openca -type d | xargs chmod 750
        find debian/openca-common/var/lib/openca -type f | xargs chown 
www-data:www-data
        find debian/openca-common/var/lib/openca -type f | xargs chmod 640
#       dh_makeshlibs -a
        dh_installdeb -a
        dh_perl -a
        dh_shlibdeps -a
        dh_gencontrol -a
        dh_md5sums -a
        dh_builddeb -a

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install 

Reply via email to