summaryrefslogtreecommitdiff
path: root/debian/rules
blob: 3b964601c239e2c65bf0039f8da408af36b28daf (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/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>

# Uncomment me to turn on debugging
#export DH_VERBOSE=1

package := screen
ROOT := $(shell pwd)/debian/$(package)
# statically define this... sucko
TTYGROUP := 5

clean:
	dh_testdir
	dh_testroot
	rm -f configure-stamp build-stamp
	test ! -s doc/Makefile || $(MAKE) -C doc realclean
	test ! -s Makefile || ! grep -q clean Makefile || $(MAKE) realclean
	rm -f config.log config.status Makefile
	dpatch deapply-all
	dh_clean

configure: configure-stamp
configure-stamp:
	dh_testdir
	dpatch apply-all
	./configure --prefix=/usr \
		    --infodir='$$(prefix)/share/info' \
		    --mandir='$$(prefix)/share/man' \
		    --with-socket-dir=/var/run/screen \
		    --enable-pam \
		    --with-pty-mode=0620 \
		    --with-pty-group=${TTYGROUP} \
		    --enable-rxvt_osc \
		    --with-sys-screenrc=/etc/screenrc
#		    --enable-colors256
	# Asserting the use of fifos instead of sockets
	grep -q "define.*NAMEDPIPE.*1" config.h
	touch $@

build: build-stamp
build-stamp: configure
	dh_testdir
	$(MAKE) CFLAGS+='-O2 -g -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers'
	$(MAKE) CFLAGS+='-O2 -g -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers' -C doc
	touch $@

install: build
	dh_testdir
	dh_testroot
	dh_clean
	dh_installdirs
	# can't call the normal install target b/c it installs the info files
	# and other crud
	$(MAKE) prefix=$(ROOT)/usr SCREENENCODINGS='$$(prefix)/share/screen/utf8encodings' installdirs install_bin
	# install the debian screenrc to etc
	install -m 644 debian/screenrc $(ROOT)/etc
	# hack around the fact that the install target makes screen a symlink to screen-$(VERSION)
	rm -f $(ROOT)/usr/bin/screen
	mv -f $(ROOT)/usr/bin/screen* $(ROOT)/usr/bin/screen
	# make it setgid utmp
	chown root:utmp $(ROOT)/usr/bin/screen
	chmod 2755 $(ROOT)/usr/bin/screen
	# don't distribute /var/run/screen, it is created in postinst
	rm -rf $(ROOT)/var
	# lintian overrides for the setgid bin etc
	install -m 755 -d $(ROOT)/usr/share/lintian/overrides
	install -m 644 debian/screen.lintian.overrides $(ROOT)/usr/share/lintian/overrides/screen

binary: binary-arch
binary-indep: build install
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdebconf
	dh_installdocs
	cp debian/README.terminfo $(ROOT)/usr/share/doc/screen/terminfo/
	dh_installexamples
	dh_installman || true
	dh_installinfo
	dh_installchangelogs -k patchlevel.h
	dh_installinit --no-start --init-script='screen-cleanup' --update-rcd-params='start 70 S .'
	dh_strip
	dh_compress
	dh_fixperms -X/usr/bin/screen
	dh_installdeb
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

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