blob: 9685e9f43f92ae9204476e9d2c3c157080eacd84 (
plain)
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
|
#!/usr/bin/make -f
#
# Copyright (C) 1997 joost witteveen <joost@rulcmc.leidenuniv.nl>
# Copyright (C) 1997-2001 Juan Cespedes <cespedes@debian.org>
# Copyright (C) 2001 Adam Lazur <zal@debian.org>
# Copyright (C) 2011-2016 Axel Beckert <abe@debian.org>
# Uncomment me to turn on debugging
#export DH_VERBOSE=1
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
export DEB_CFLAGS_MAINT_APPEND=-Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers
ROOT := $(CURDIR)/debian/screen
ROOT_UDEB := $(CURDIR)/debian/screen-udeb
# statically define this... sucko
TTYGROUP := 5
# Common configure options for .deb and .udeb
SCREEN_CONFIGURE=--with-socket-dir=/run/screen \
--with-pty-mode=0620 \
--with-pty-group=${TTYGROUP} \
--enable-rxvt_osc \
--with-sys-screenrc=/etc/screenrc \
--enable-colors256 \
--enable-telnet \
--enable-use-locale
%:
dh $@
override_dh_auto_clean:
rm -rf build build-udeb
override_dh_auto_configure:
dh_auto_configure -B build -- $(SCREEN_CONFIGURE) --enable-pam --enable-utempter
# To minimize the library dependencies, the .udeb binary is
# built without "--enable-pam"
dh_auto_configure -B build-udeb -- $(SCREEN_CONFIGURE)
# Assert the use of fifos instead of sockets
cd build; grep -q "define.*NAMEDPIPE.*1" config.h || echo "#define NAMEDPIPE 1" >> config.h
cd build-udeb; grep -q "define.*NAMEDPIPE.*1" config.h || echo "#define NAMEDPIPE 1" >> config.h
override_dh_auto_build:
dh_auto_build --builddirectory build
dh_auto_build --builddirectory build-udeb
dh_auto_build --sourcedirectory build/doc
override_dh_auto_install:
# can't call the normal install target b/c it installs the
# info files and other crud
cd build; $(MAKE) prefix=$(ROOT)/usr SCREENENCODINGS='$$(prefix)/share/screen/utf8encodings' installdirs install_bin
cd build-udeb; $(MAKE) prefix=$(ROOT_UDEB)/usr SCREENENCODINGS='$$(prefix)/share/screen/utf8encodings' installdirs install_bin
# hack around the fact that the install target makes screen a
# symlink to screen-$$(VERSION)
rm -f $(ROOT)/usr/bin/screen $(ROOT_UDEB)/usr/bin/screen
mv -f $(ROOT)/usr/bin/screen* $(ROOT)/usr/bin/screen
mv -f $(ROOT_UDEB)/usr/bin/screen* $(ROOT_UDEB)/usr/bin/screen
# make it setgid utmp only in udeb
chown root:utmp $(ROOT_UDEB)/usr/bin/screen
chmod 2755 $(ROOT_UDEB)/usr/bin/screen
chmod 755 $(ROOT)/usr/bin/screen
# Fix package-contains-info-dir-file, remove /usr/share/info/dir.gz
rm -f $(ROOT)/usr/share/info/dir*
# Remove documentation from udeb
rm -rf $(ROOT_UDEB)/usr/share/info $(ROOT_UDEB)/usr/share/man
override_dh_installinit:
dh_installinit --no-start --init-script=screen-cleanup
override_dh_installtmpfiles:
dh_installtmpfiles --name=screen-cleanup
override_dh_fixperms:
dh_fixperms -X/usr/bin/screen
|