/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to debian/rules

  • Committer: Teddy Hogeborn
  • Date: 2024-09-09 04:24:39 UTC
  • Revision ID: teddy@recompile.se-20240909042439-j85mr20uli2hnyis
Eliminate compiler warnings

Many programs use nested functions, which now result in a linker
warning about executable stack.  Hide this warning.  Also, rewrite a
loop in the plymouth plugin to avoid warning about signed overflow.
This change also makes the plugin pick the alphabetically first
process entry instead of the last, in case many plymouth processes are
found (which should be unlikely).

* Makefile (plugin-runner, dracut-module/password-agent,
  plugins.d/password-prompt, plugins.d/mandos-client,
  plugins.d/plymouth): New target; set LDFLAGS to add "-Xlinker
  --no-warn-execstack".
* plugins.d/plymouth.c (get_pid): When no pid files are found, and we
  are looking through the process list, go though it from the start
  instead of from the end, i.e. in normal alphabetical order and not
  in reverse order.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#!/usr/bin/make -f
2
 
# Sample debian/rules that uses debhelper.
3
 
#
4
 
# This file was originally written by Joey Hess and Craig Small.
5
 
# As a special exception, when this file is copied by dh-make into a
6
 
# dh-make output file, you may use that output file without restriction.
7
 
# This special exception was added by Craig Small in version 0.37 of dh-make.
8
 
#
9
 
# Modified to make a template file for a multi-binary package with separated
10
 
# build-arch and build-indep targets  by Bill Allombert 2001
11
 
 
12
 
# Uncomment this to turn on verbose mode.
13
 
#export DH_VERBOSE=1
14
 
 
15
 
# This has to be exported to make some magic below work.
16
 
export DH_OPTIONS
17
 
 
18
 
configure: configure-stamp
19
 
configure-stamp:
20
 
        dh_testdir
21
 
        touch configure-stamp
22
 
 
23
 
build: build-arch build-indep
24
 
 
25
 
build-arch: build-arch-stamp
26
 
build-arch-stamp: configure-stamp
27
 
        dh_auto_build -- all doc
28
 
        touch $@
29
 
 
30
 
build-indep: build-indep-stamp
31
 
build-indep-stamp: configure-stamp
32
 
        dh_auto_build -- doc
33
 
        touch $@
34
 
 
35
 
clean:
36
 
        dh_testdir
37
 
        dh_testroot
38
 
        rm -f build-arch-stamp build-indep-stamp configure-stamp
39
 
        dh_auto_clean
40
 
        dh_clean
41
 
        debconf-updatepo
42
 
 
43
 
install: install-indep install-arch
44
 
install-indep:
45
 
        dh_testdir
46
 
        dh_testroot
47
 
        dh_prep
48
 
        dh_installdirs --indep
 
2
 
 
3
ifeq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
 
4
    MAKEFLAGS += OPTIMIZE=-O0
 
5
endif
 
6
 
 
7
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
 
8
    NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
 
9
    MAKEFLAGS += -j$(NUMJOBS)
 
10
endif
 
11
 
 
12
PKG_CONFIG?=pkg-config
 
13
 
 
14
%:
 
15
        dh $@
 
16
 
 
17
override_dh_installdirs-indep:
 
18
        dh_installdirs
 
19
        dh_installdirs $(patsubst /%,%,$(shell $(PKG_CONFIG) \
 
20
                systemd --variable=systemdsystemunitdir)) \
 
21
                $(patsubst /%,%,$(shell $(PKG_CONFIG) \
 
22
                systemd --variable=tmpfilesdir)) \
 
23
                $(patsubst /%,%,$(shell $(PKG_CONFIG) \
 
24
                systemd --variable=sysusersdir))
 
25
 
 
26
override_dh_installdirs-arch:
 
27
        dh_installdirs
 
28
        dh_installdirs $(patsubst /%,%,$(shell $(PKG_CONFIG) \
 
29
                systemd --variable=sysusersdir))
 
30
 
 
31
override_dh_auto_build-arch:
 
32
        LC_ALL=en_US.utf8 dh_auto_build -- all doc
 
33
 
 
34
override_dh_auto_build-indep:
 
35
        LC_ALL=en_US.utf8 dh_auto_build -- doc
 
36
 
 
37
override_dh_installinit-indep:
 
38
        dh_installinit --onlyscripts \
 
39
                --update-rcd-params="defaults 25 15"
 
40
 
 
41
override_dh_auto_install-indep:
49
42
        $(MAKE) DESTDIR=$(CURDIR)/debian/mandos install-server
50
 
        dh_lintian
51
 
        dh_installinit --onlyscripts --no-start
52
 
        dh_install --indep
53
 
 
54
 
install-arch:
55
 
        dh_testdir
56
 
        dh_testroot
57
 
        dh_prep
58
 
        dh_installdirs --same-arch
59
 
        $(MAKE) DESTDIR=$(CURDIR)/debian/mandos-client install-client-nokey
60
 
        dh_lintian
61
 
        dh_install --same-arch
62
 
 
63
 
binary-common:
64
 
        dh_testdir
65
 
        dh_testroot
66
 
        dh_installchangelogs
67
 
        dh_installdocs
68
 
        dh_installdebconf
69
 
        dh_link
70
 
        dh_strip
71
 
        dh_compress
 
43
 
 
44
override_dh_auto_install-arch:
 
45
        $(MAKE) DESTDIR=$(CURDIR)/debian/mandos-client \
 
46
                install-client-nokey
 
47
 
 
48
override_dh_fixperms-arch:
72
49
        dh_fixperms --exclude etc/keys/mandos \
73
 
                --exclude etc/mandos/clients.conf \
74
 
                --exclude usr/lib/mandos/plugins.d
75
 
        dh_installdeb
76
 
        dh_shlibdeps
77
 
        dh_gencontrol
78
 
        dh_md5sums
79
 
        dh_builddeb
80
 
 
81
 
# Build architecture independant packages using the common target.
82
 
binary-indep: build-indep install-indep
83
 
        $(MAKE) -f debian/rules DH_OPTIONS=--indep binary-common
84
 
 
85
 
# Build architecture dependant packages using the common target.
86
 
binary-arch: build-arch install-arch
87
 
        $(MAKE) -f debian/rules DH_OPTIONS=--same-arch binary-common
88
 
 
89
 
binary: binary-arch binary-indep
90
 
 
91
 
.PHONY: build clean binary-indep binary-arch binary install \
92
 
                install-indep install-arch configure
 
50
                --exclude etc/mandos/plugins.d \
 
51
                --exclude etc/mandos/plugin-helpers \
 
52
                --exclude usr/lib/$(DEB_HOST_MULTIARCH)/mandos/plugins.d \
 
53
                --exclude usr/lib/$(DEB_HOST_MULTIARCH)/mandos/plugin-helpers \
 
54
                --exclude usr/share/doc/mandos-client/examples/network-hooks.d/
 
55
        chmod --recursive g-w -- \
 
56
        "$(CURDIR)/debian/mandos-client/usr/share/doc/mandos-client/examples/network-hooks.d"
 
57
 
 
58
override_dh_fixperms-indep:
 
59
        dh_fixperms --exclude etc/mandos/clients.conf
 
60
 
 
61
override_dh_auto_test-arch: ;
 
62
 
 
63
#bpo## dpkg-shlibdeps sees the "libgnutls28-dev (>= 3.6.6) |
 
64
#bpo## libgnutls28-dev (<< 3.6.0)," in the build-dependencies not as two
 
65
#bpo## alternatives, but as an absolute dependency on libgnutls30 >= 3.6.6.
 
66
#bpo## So we have to do this ugly hack to hide this build dependency if we
 
67
#bpo## compiled with libgnutls30 << 3.6.0.
 
68
#bpo#override_dh_shlibdeps-arch:
 
69
#bpo#   -gnutls_version=$$(dpkg-query --showformat='$${Version}' \
 
70
#bpo#           --show libgnutls30); \
 
71
#bpo#   dpkg --compare-versions $$gnutls_version lt 3.6.0 \
 
72
#bpo#           && { cp --archive debian/control debian/control.orig; sed --in-place --expression='s/libgnutls28-dev (>= 3\.6\.6) |//' debian/control; }
 
73
#bpo#   dh_shlibdeps
 
74
#bpo#   -gnutls_version=$$(dpkg-query --showformat='$${Version}' \
 
75
#bpo#           --show libgnutls30); \
 
76
#bpo#   dpkg --compare-versions $$gnutls_version lt 3.6.0 \
 
77
#bpo#           && mv debian/control.orig debian/control