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 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# We've switched to the recommended hardening method
export DEB_BUILD_MAINT_OPTIONS = hardening=+all,-pie
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk
# 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)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
INCLUDEDIR = "/usr/lib/$(DEB_HOST_MULTIARCH)"
SHELL=/bin/bash
# We changed this since dpkg-buildflags sets the variable initially for us
# and the typical '=' overwrites some important hardening options
# CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif
p = rapidsvn
p_lib = libsvncpp3
p_dev = libsvncpp-dev
#p_doc = libsvncpp-doc
d = debian/$(p)
d_lib = debian/$(p_lib)
d_dev = debian/$(p_dev)
#d_doc = debian/$(p_doc)
configure-stamp:
dh_testdir
cp -p /usr/share/misc/config.sub config.sub
cp -p /usr/share/misc/config.guess config.guess
# configure using --disable-shared,
# so we don't have to package the library as well ...
#
# We changed CPPFLAGS so that hardening was included
# i.e. $(CPPFLAGS) now included in the line
CFLAGS="$(CFLAGS)" \
CPPFLAGS="-DNDEBUG $(CPPFLAGS)" \
./configure \
--host=$(DEB_HOST_GNU_TYPE) \
--build=$(DEB_BUILD_GNU_TYPE) \
--prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--with-docbook-xsl=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh \
--with-svn-lib=$(INCLUDEDIR)
touch configure-stamp
build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp
build-stamp: configure-stamp
dh_testdir
$(MAKE)
$(MAKE) -C doc/manpage manpage
cd doc/svncpp && doxygen svncpp.dox
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f configure-stamp build-stamp
[ ! -f Makefile ] || $(MAKE) distclean
rm -rf doc/svncpp/html/*
rm -f src/locale/Makefile doc/manpage/Makefile doc/svncpp/Makefile
rm -f config.sub
rm -f config.guess
: # temporary fix until upstream fixes the clean targets
rm -f doc/svncpp/doxygen_sqlite3.db
dh_clean
install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs -p$(p) \
usr/share/pixmaps usr/share/locale usr/share/man/man1
$(MAKE) install DESTDIR=$(CURDIR)/debian/rapidsvn
cp -p src/res/bitmaps/rapidsvn_32x32.xpm \
debian/rapidsvn/usr/share/pixmaps/rapidsvn.xpm
cp -p src/res/bitmaps/rapidsvn_32x32.png \
debian/rapidsvn/usr/share/pixmaps/rapidsvn.png
cp -p doc/manpage/rapidsvn.1 \
debian/rapidsvn/usr/share/man/man1/
dh_installdirs -p$(p_lib) usr/lib
mv $(d)/usr/lib/libsvncpp.so.* $(d_lib)/usr/lib/
dh_installdirs -p$(p_dev) usr/lib
mv $(d)/usr/lib/libsvncpp.{a,so} $(d_dev)/usr/lib/
rm $(d)/usr/lib/libsvncpp.la*
rmdir $(d)/usr/lib/
: # doesn't work yet
: #$(MAKE) -C include install DESTDIR=$(CURDIR)/$(d_dev)
mv $(d)/usr/include $(d_dev)/usr/
install -d $(d)/usr/share/applications
install -m644 debian/rapidsvn.desktop $(d)/usr/share/applications
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs -k CHANGES
dh_installdocs README
rm -rf $(d_dev)/usr/share/doc/$(p_dev)
dh_link -p$(p_dev) /usr/share/doc/$(p_lib) /usr/share/doc/$(p_dev)
mkdir -p $(d_dev)/usr/share/doc/$(p_lib)
cp -a doc/svncpp/html $(d_dev)/usr/share/doc/$(p_lib)/
dh_lintian
dh_installexamples
dh_installmenu
dh_icons
# dh_installdebconf
# dh_installinfo
dh_installman
dh_link
dh_strip -v
dh_compress
dh_fixperms
dh_makeshlibs
dh_installdeb
dh_shlibdeps -L$(p_lib) -l$(d_lib)/usr/lib -- -v
-ldd debian/libsvncpp3/usr/lib/libsvncpp.so.3.0.0 | grep libsvn_subr-1.so.1
-objdump -T /usr/lib/libsvn_subr-1.so.1 | egrep 'svn_error__locate|svn_sort__hash'
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
|