/mandos/release

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

« back to all changes in this revision

Viewing changes to initramfs-tools-hook

  • Committer: Teddy Hogeborn
  • Date: 2024-09-08 07:04:52 UTC
  • mto: This revision was merged to the branch mainline in revision 410.
  • Revision ID: teddy@recompile.se-20240908070452-oyxj1zojswt0aft5
Fix #1069689 by using pkg-config in debian/rules

The directory for systemd unit files (output of "pkg-config systemd
--variable=systemdsystemunitdir") has changed.  But there was a
hardcoded instance of this directory in debian/mandos.dirs.  Fix this
by removing the directory from debian/mandos.dirs, and instead
creating the correct directory explicitly in debian/rules.

* debian/mandos.dirs (lib/systemd/system): Removed.
* debian/rules (PKG_CONFIG): New; copied from Makefile.
  (override_dh_installdirs-indep): New; run dh_installdirs twice:
  first normally, and again for the systemd unit file directory.

Closes: #1069689
Reported-By: Helmut Grohne <helmut@subdivi.de>
Thanks: Helmut Grohne <helmut@subdivi.de> for report and analysis

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
        --mode=u=rwx "${DESTDIR}${PLUGINDIR}" \
81
81
        "${DESTDIR}${PLUGINHELPERDIR}"
82
82
 
 
83
copy_exec "$libdir"/mandos/mandos-to-cryptroot-unlock "${MANDOSDIR}"
 
84
 
83
85
# Copy the Mandos plugin runner
84
86
copy_exec "$libdir"/mandos/plugin-runner "${MANDOSDIR}"
85
87
 
140
142
# Get DEVICE from initramfs.conf and other files
141
143
. /etc/initramfs-tools/initramfs.conf
142
144
for conf in /etc/initramfs-tools/conf.d/*; do
143
 
    if [ -n `basename \"$conf\" | grep '^[[:alnum:]][[:alnum:]\._-]*$' \
144
 
        | grep -v '\.dpkg-.*$'` ]; then
145
 
        [ -f ${conf} ] && . ${conf}
 
145
    if [ -n "`basename \"$conf\" \
 
146
        | grep '^[[:alnum:]][[:alnum:]\._-]*$' \
 
147
        | grep -v '\.dpkg-.*$'`" ]; then
 
148
        [ -f "${conf}" ] && . "${conf}"
146
149
    fi
147
150
done
148
151
export DEVICE
157
160
    if [ -x "$hook" ]; then
158
161
        # Copy any files needed by the network hook
159
162
        MANDOSNETHOOKDIR=/etc/mandos/network-hooks.d MODE=files \
160
 
            VERBOSITY=0 "$hook" files | while read file target; do
 
163
            VERBOSITY=0 "$hook" files | while read -r file target; do
161
164
            if [ ! -e "${file}" ]; then
162
165
                echo "WARNING: file ${file} not found, requested by Mandos network hook '${hook##*/}'" >&2
163
166
            fi
169
172
        done
170
173
        # Copy and load any modules needed by the network hook
171
174
        MANDOSNETHOOKDIR=/etc/mandos/network-hooks.d MODE=modules \
172
 
            VERBOSITY=0 "$hook" modules | while read module; do
173
 
            if [ -z "${target}" ]; then
174
 
                force_load "$module"
175
 
            fi
 
175
            VERBOSITY=0 "$hook" modules | while read -r module; do
 
176
            force_load "$module"
176
177
        done
177
178
    fi
178
179
done
179
180
 
180
181
# GPGME needs GnuPG
181
182
gpg=/usr/bin/gpg
182
 
libgpgme11_version="`dpkg-query --showformat='${Version}' --show libgpgme11`"
 
183
libgpgme11_version="`dpkg-query --showformat='${Version}\n' --show libgpgme11t64 libgpgme11 2>/dev/null | head --lines=1`"
183
184
if dpkg --compare-versions "$libgpgme11_version" ge 1.5.0-0.1; then
184
185
    if [ -e /usr/bin/gpgconf ]; then
185
186
        if [ ! -e "${DESTDIR}/usr/bin/gpgconf" ]; then
252
253
# initrd; it is intended to affect the initrd.img file itself, since
253
254
# it now contains secret key files.  There is, however, no other way
254
255
# to set the permission of the initrd.img file without a race
255
 
# condition.  This umask is set by "initramfs-tools-hook-conf",
256
 
# installed as "/usr/share/initramfs-tools/conf-hooks.d/mandos".)
 
256
# condition.  This umask is set by "initramfs-tools-conf", installed
 
257
# as "/usr/share/initramfs-tools/conf.d/mandos-conf".)
257
258
258
259
for full in "${MANDOSDIR}" "${CONFDIR}"; do
259
260
    while [ "$full" != "/" ]; do