/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 initramfs-tools-hook

  • Committer: Teddy Hogeborn
  • Date: 2021-02-04 17:59:45 UTC
  • Revision ID: teddy@recompile.se-20210204175945-8druo6d88ipc1z58
Fix issue with french translation

Initial white space was missing in both msgid and msgstr of the french
translation, leading to checking tools reporing an incomplete
translation.  The string is a raw key id, and therefore did not need
translation, so this was never a user-visible issue.

* debian/po/fr.po: Add missing whitespace to the id and translation
  for msgid " ${key_id}".

Show diffs side-by-side

added added

removed removed

Lines of Context:
70
70
CONFDIR="/conf/conf.d/mandos"
71
71
MANDOSDIR="/lib/mandos"
72
72
PLUGINDIR="${MANDOSDIR}/plugins.d"
73
 
PLUGINHELPERDIR="${MANDOSDIR}/plugins-helpers"
 
73
PLUGINHELPERDIR="${MANDOSDIR}/plugin-helpers"
74
74
HOOKDIR="${MANDOSDIR}/network-hooks.d"
75
75
 
76
76
# Make directories
77
77
install --directory --mode=u=rwx,go=rx "${DESTDIR}${CONFDIR}" \
78
 
        "${DESTDIR}${MANDOSDIR}" "${DESTDIR}${HOOKDIR}" \
 
78
        "${DESTDIR}${MANDOSDIR}" "${DESTDIR}${HOOKDIR}"
 
79
install --owner=${mandos_user} --group=${mandos_group} --directory \
 
80
        --mode=u=rwx "${DESTDIR}${PLUGINDIR}" \
79
81
        "${DESTDIR}${PLUGINHELPERDIR}"
80
 
install --owner=${mandos_user} --group=${mandos_group} --directory \
81
 
    --mode=u=rwx "${DESTDIR}${PLUGINDIR}"
 
82
 
 
83
copy_exec "$libdir"/mandos/mandos-to-cryptroot-unlock "${MANDOSDIR}"
82
84
 
83
85
# Copy the Mandos plugin runner
84
86
copy_exec "$libdir"/mandos/plugin-runner "${MANDOSDIR}"
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
186
187
            copy_exec /usr/bin/gpgconf
187
188
        fi
188
189
        gpg="`/usr/bin/gpgconf|sed --quiet --expression='s/^gpg:[^:]*://p'`"
 
190
        gpgagent="`/usr/bin/gpgconf|sed --quiet --expression='s/^gpg-agent:[^:]*://p'`"
 
191
        # Newer versions of GnuPG 2 requires the gpg-agent binary
 
192
        if [ -e "$gpgagent" ] && [ ! -e "${DESTDIR}$gpgagent" ]; then
 
193
            copy_exec "$gpgagent"
 
194
        fi
189
195
    fi
190
196
elif dpkg --compare-versions "$libgpgme11_version" ge 1.4.1-0.1; then
191
197
    gpg=/usr/bin/gpg2
219
225
    if [ -d "$file" ]; then
220
226
        continue
221
227
    fi
222
 
    cp --archive --sparse=always "$file" "${DESTDIR}${CONFDIR}"
223
 
    chown ${mandos_user}:${mandos_group} \
224
 
        "${DESTDIR}${CONFDIR}/`basename \"$file\"`"
 
228
    case "$file" in
 
229
        *~|.*|\#*\#|*.dpkg-old|*.dpkg-bak|*.dpkg-new|*.dpkg-divert)
 
230
            : ;;
 
231
        "*") : ;;
 
232
        *)
 
233
            cp --archive --sparse=always "$file" \
 
234
               "${DESTDIR}${CONFDIR}"
 
235
            chown ${mandos_user}:${mandos_group} \
 
236
                  "${DESTDIR}${CONFDIR}/`basename \"$file\"`"
 
237
            ;;
 
238
    esac
225
239
done
 
240
# Use Diffie-Hellman parameters file if available
 
241
if [ -e "${DESTDIR}${CONFDIR}"/dhparams.pem ]; then
 
242
    sed --in-place \
 
243
        --expression="1i--options-for=mandos-client:--dh-params=${CONFDIR}/dhparams.pem" \
 
244
        "${DESTDIR}/${CONFDIR}/plugin-runner.conf"
 
245
fi
226
246
 
227
247
# /lib/mandos/plugin-runner will drop priviliges, but needs access to
228
248
# its plugin directory and its config file.  However, since almost all
233
253
# initrd; it is intended to affect the initrd.img file itself, since
234
254
# it now contains secret key files.  There is, however, no other way
235
255
# to set the permission of the initrd.img file without a race
236
 
# condition.  This umask is set by "initramfs-tools-hook-conf",
237
 
# 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".)
238
258
239
259
for full in "${MANDOSDIR}" "${CONFDIR}"; do
240
260
    while [ "$full" != "/" ]; do
252
272
done
253
273
for dir in "${DESTDIR}"/lib* "${DESTDIR}"/usr/lib*; do
254
274
    if [ -d "$dir" ]; then
255
 
        find "$dir" \! -perm -u+rw,g+r -prune -or -print0 \
256
 
            | xargs --null --no-run-if-empty chmod a+rX
 
275
        find "$dir" \! -perm -u+rw,g+r -prune -or \! -type l -print0 \
 
276
            | xargs --null --no-run-if-empty chmod a+rX --
257
277
    fi
258
278
done