1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
#!/usr/bin/make -f
TOPDIR=$(shell pwd)
#export DH_VERBOSE=1
CFLAGS=-Wall -g
ifeq ($(findstring noopt,$(DEB_BUILD_OPTIONS)),)
CFLAGS+=-O2
endif
CXXFLAGS=$(CFLAGS)
export JAVA_HOME=/usr/lib/jvm/default-java
export CFLAGS
export CXXFLAGS
#ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
# NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
#else
NUMJOBS = 1
#endif
stampdir:
mkdir stampdir
clean:
dh_testdir
dh_testroot
# Clean out 2.6
[ ! -f $(CURDIR)/_src/beid-2.6/Makefile ] || cd $(CURDIR)/_src/beid-2.6/ $(MAKE) distclean
-rm -Rf stampdir
-rm -Rf _src/beid-2.6/.sconf_temp
-find _src/beid-2.6/ -name *.pyc -exec rm -f {} \;
-find _src/beid-2.6/ -type d -name cache -exec rm -Rf {} \;
-rm _src/beid-2.6/config.log
# Clean out 3.5
[ ! -f $(CURDIR)/_src/eidmw/Makefile ] || $(MAKE) -f $(CURDIR)/_src/eidmw/Makefile distclean
find _src/eidmw/eidlibJava -name '*.class' -exec rm -f {} \;
-rm _src/eidmw/bin/eidmw_*.qm
[ ! -f $(CURDIR)/_src/eidmw/jar/beid35libJava.jar.orig ] || mv -f $(CURDIR)/_src/eidmw/jar/beid35libJava.jar.orig $(CURDIR)/_src/eidmw/jar/beid35libJava.jar
-rm -Rf _src/eidmw/_DocsExternal/*
dh_clean
HOSTNAME=$(shell hostname --fqdn)
build: build-arch build-indep
build-arch: stampdir/build-arch-stamp
stampdir/build-arch-stamp: stampdir
dh_testdir
[ -f $(CURDIR)/_src/eidmw/jar/beid35libJava.jar.orig ] || cp -a $(CURDIR)/_src/eidmw/jar/beid35libJava.jar $(CURDIR)/_src/eidmw/jar/beid35libJava.jar.orig
# Build 2.6 version of middleware
cd _src/beid-2.6 && scons --cache-disable prefix=/usr confdir=/etc/
# Build 3.5 version of middleware
# needed for libxerces with -p because be unhappy if exists.
mkdir -p _src/eidmw/eidlibJava/class
cd _src/eidmw && chmod +x configure && ./configure --prefix=/usr CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)"
cd _src/eidmw && $(MAKE) -j$(NUMJOBS)
# Done. Hopefully.
touch stampdir/build-arch-stamp
build-indep: stampdir/build-indep-stamp
stampdir/build-indep-stamp: stampdir
dh_testdir
mkdir -p _src/eidmw/_DocsExternal/C++_Api
cd _src/eidmw/_DocsInternal/API && doxygen DoxySDK.cfg
cd _src/eidmw/_DocsInternal/API && doxygen DoxySDK_java.cfg
touch stampdir/build-indep-stamp
install: stampdir/install-stamp
stampdir/install-stamp: stampdir build
dh_testdir
dh_testroot
dh_installdirs
# Install 2.6. This needs to be done manually, since SCons' DESTDIR
# support is non-existent.
install -d debian/tmp/usr/lib debian/tmp/usr/bin debian/tmp/usr/include/beid/opensc debian/tmp/usr/share/locale debian/tmp/usr/share/beid/certs debian/tmp/usr/share/beid/crl debian/tmp/etc debian/tmp/usr/share/applications debian/tmp/usr/share/icons debian/tmp/usr/lib/pkcs11
cp -a _src/beid-2.6/src/newpkcs11/src/pkcs11/libbeidpkcs11.so* _src/beid-2.6/src/beidcommlib/libbeidcomm.so* _src/beid-2.6/src/winscarp/libbeidpcsclite.so* _src/beid-2.6/src/eidlib/libbeid.so* _src/beid-2.6/src/eidlibjni/libbeidlibjni.so* _src/beid-2.6/src/beidcommon/libbeidcommon.so* _src/beid-2.6/src/newpkcs11/src/libopensc/libbeidlibopensc.so* debian/tmp/usr/lib
cp -a _src/beid-2.6/src/newpkcs11/src/tools/beid-pkcs11-tool _src/beid-2.6/src/newpkcs11/src/tools/beid-tool _src/beid-2.6/src/Belpic\ PCSC\ Service/beidpcscd _src/beid-2.6/src/beidservicecrl/beidcrld debian/tmp/usr/bin
cp -a _src/beid-2.6/src/newpkcs11/config.h _src/beid-2.6/src/eidlib/eidlib.h _src/beid-2.6/src/eidlib/eiddefines.h _src/beid-2.6/src/eidlib/eiderrors.h debian/tmp/usr/include/beid
cp -a _src/beid-2.6/src/newpkcs11/etc/beidbase.conf debian/tmp/etc
# The following are symlinks, which we do *not* want to see persisting.
cp -pR _src/beid-2.6/src/newpkcs11/src/include/opensc/* debian/tmp/usr/include/beid/opensc
cp -a _src/beid-2.6/src/newpkcs11/etc/Belgian_eID_PKCS11_java.cfg debian/tmp/usr/lib/pkcs11
# Install 3.5
cd _src/eidmw && $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/tmp install
# Why does this build system suck so much?
cp -a _src/eidmw/misc/beid/beid-pkcs11-*.html debian/tmp/usr/share/beid/
cp -a _src/eidmw/install/beid.conf.3.5 debian/tmp/etc/beid.conf
cp -a _src/eidmw/install/beidgui35.desktop debian/tmp/usr/share/applications
cp -a _src/eidmw/install/eid35.png debian/tmp/usr/share/icons
mkdir -p debian/tmp/usr/share/doc/beid-docs
cp -a _src/eidmw/_DocsExternal/C++_Api/html debian/tmp/usr/share/doc/beid-docs/C++
cp -a _src/eidmw/_DocsExternal/Java_Api/html debian/tmp/usr/share/doc/beid-docs/Java
cp -a _src/eidmw/bin/beidgui debian/tmp/usr/bin
cp -a _src/eidmw/bin/eidmw_*.qm debian/tmp/usr/share/beid
cp -a _src/eidmw/bin/beiddialogsQTsrv debian/tmp/usr/bin
cp -a _src/eidmw/lib/lib* debian/tmp/usr/lib
#Strip rpath from executables
find debian/tmp/usr/bin -type f -perm /111 -print0 | xargs -0 chrpath -d
dh_lintian
dh_install --sourcedir=debian/tmp
dh_installmenu
dh_installman -p beid-tools _src/beid-2.6/src/newpkcs11/docs/beid-tool.1 _src/beid-2.6/src/newpkcs11/docs/beid-pkcs11-tool.1
touch stampdir/install-stamp
binary: stampdir/binary-stamp
stampdir/binary-stamp: stampdir install
dh_testdir -a
dh_testroot -a
dh_installman -a
dh_installchangelogs -a
dh_installinit -p beid-tools --name=beid
dh_strip -p libbeidlibopensc2 --dbg-package=libbeidlibopensc2-dbg
dh_strip -p libbeid2 --dbg-package=libbeid2-dbg
# The upstream build system either already strips these, or does
# not provide debugging symbols to begin with. Will investigate
# later.
#dh_strip -p libbeidlib3 --dbg-package=libbeidlib3-dbg
dh_strip -a
dh_link -a
dh_installdocs -a
dh_compress -a
dh_fixperms -a
dh_makeshlibs -V -p libbeidlibopensc2 -Pdebian/libbeidlibopensc2
dh_makeshlibs -V -p libbeid2 -Pdebian/libbeid2
dh_makeshlibs -V -p libbeidlib3 -Pdebian/libbeidlib3
dh_installdeb -a
dh_shlibdeps -ldebian/tmp/usr/lib -Llibeid2 -Llibbelpic2 -Llibbeidlib3
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
touch stampdir/binary-stamp
binary-arch: stampdir/binary-stamp
binary-indep: stampdir/binary-stamp
.PHONY: belpic-build belpic-binary binary install belpic-install build binary-arch
|