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
|
#!/usr/bin/make -f
#export DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
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)
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
ifeq ($(DEB_HOST_ARCH_OS),)
DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))
ifeq ($(DEB_HOST_ARCH_OS),gnu)
DEB_HOST_ARCH_OS := hurd
endif
endif
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
CFLAGS += -g
endif
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
INSTALL_STRIP_FLAG = ""
STRIP = ""
endif
%:
dh $@ --parallel --with autotools_dev
override_dh_auto_configure:
./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
--prefix=/usr \
--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
--sysconfdir=/etc \
--localstatedir=/var \
--datadir=\$${prefix}/share \
--mandir=\$${prefix}/share/man \
--with-docdir=\$${prefix}/share/doc/libsane \
--with-snmp=no \
--disable-locking \
--enable-static \
--enable-pthread \
--with-gphoto2 \
--enable-translations \
--enable-avahi \
--enable-libusb_1_0
override_dh_auto_build:
# generate POT file for translators
(cd po && make sane-backends.pot)
$(MAKE)
override_dh_auto_clean:
# Autoconf-generated files
$(RM) include/byteorder.h include/_stdint.h
# Add here commands to clean up after the build process.
[ ! -f Makefile ] || $(MAKE) distclean
$(RM) debian/libsane-common.install
$(RM) debian/libsane.udev
dh_auto_clean
override_dh_auto_install:
$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
# remove /usr/lib/sane/libsane.so.1 (libtool side-effect ?)
$(RM) debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/sane/libsane.so.1
# remove libsane-dll, same as regular libsane
$(RM) debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/sane/libsane-dll.*
# install only the manpages for the backends which have been built
cp debian/libsane-common.install.in debian/libsane-common.install
ls debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/sane/*.so | sed -e \
"s#.*/lib\([^.]\+\)[.]so#usr/share/man/man5/\1.5#" | { while read mp; do \
test -e debian/tmp/$$mp && echo $$mp >> debian/libsane-common.install; done }
# Empty dependency_libs in all .la files
find debian/tmp/usr -name "*.la" -type f -exec sed -e "s,^dependency_libs=.*,dependency_libs=''," -i {} \;
override_dh_install:
dh_install
# Install HAL fdi file
mkdir -p $(CURDIR)/debian/libsane-common/usr/share/hal/fdi/preprobe/10osvendor
$(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m hal-new > \
$(CURDIR)/debian/libsane-common/usr/share/hal/fdi/preprobe/10osvendor/20-libsane.fdi
# Install the pkg-config file
mkdir -p debian/libsane-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/
cp tools/sane-backends.pc debian/libsane-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/
override_dh_installdocs:
dh_installdocs
# move files that belong to libsane-dev
mv debian/tmp/usr/share/doc/libsane/sane.ps debian/libsane-dev/usr/share/doc/libsane-dev/
mv debian/tmp/usr/share/doc/libsane/backend-writing.txt debian/libsane-dev/usr/share/doc/libsane-dev/
# Platform-specific documentation
# move the html files into html/
install -d debian/libsane-common/usr/share/doc/libsane/html
mv debian/tmp/usr/share/doc/libsane/*.html debian/libsane-common/usr/share/doc/libsane/html/
# create the /etc/sane.d/dll.d directory in libsane
install -d debian/libsane/etc/sane.d/dll.d
$(RM) debian/libsane/etc/sane.d/saned.conf
ifeq (kfreebsd,$(DEB_HOST_ARCH_OS))
cp README.freebsd debian/libsane-common/usr/share/doc/libsane/
endif
ifeq (linux,$(DEB_HOST_ARCH_OS))
cp README.linux debian/libsane-common/usr/share/doc/libsane/
endif
override_dh_installudev:
ifeq (linux,$(DEB_HOST_ARCH_OS))
# udev support
# Generate the udev rules file
$(CURDIR)/tools/sane-desc -s $(CURDIR)/doc/descriptions -m udev+acl > $(CURDIR)/debian/libsane.udev
dh_installudev
endif
# remove rpath from the binaries (wonderful tool !)
chrpath -d debian/sane-utils/usr/sbin/saned
chrpath -d debian/sane-utils/usr/bin/scanimage
chrpath -d debian/sane-utils/usr/bin/sane-find-scanner
override_dh_installinit:
dh_installinit -psane-utils --name=saned --error-handler=saned_eh
override_dh_strip:
dh_strip --dbg-package=libsane-dbg
override_dh_builddeb:
dh_builddeb -- -Zxz
|