Создание пакета Debian, который не удаляет каталоги после того, как оно будет очищено

Вы имеете, не проверяют библиотеку. Один путь состоял бы в том, чтобы заменить

pack:           $(OBJ)
                $(AR) $(ARFLAGS) $(NAME).a $(OBJ)

pack: $(NAME).a

$(NAME).a: $(OBJ)
        $(AR) $(ARFLAGS) $(NAME.a) $(OBJ)

таким образом, библиотека не была бы переделана, если это актуально.

2
07.02.2013, 22:26
2 ответа

Добавить сценарий postrm :

#!/bin/sh

set -e

case "$1" in
  purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
    # Recreate the /usr/local/share/ca-certificates directory, since we are
    # ignoring Debian Policy by intentionally installing here. Removal of
    # ca-certificates-local removes this directory if empty.
    if [ ! -e /usr/local/share/ca-certificates ]; then
        if mkdir /usr/local/share/ca-certificates 2>/dev/null; then
            chown root:staff /usr/local/share/ca-certificates
            chmod 2775 /usr/local/share/ca-certificates
        fi
    fi
;;

*)
    echo "postrm called with unknown argument \`$1'" >&2
    exit 1
;;
esac

#DEBHELPER#

exit 0

Этот код взят из ca-Certific-local :

Это пример пакета исходного кода-заглушки, который включает фиктивный ЦС {{1 }} сертификат в каталоге local /. Удалите фиктивный сертификат, скопируйте свой доверенный локальный корневой ЦС (в формате PEM с именем файла, заканчивающимся на ".crt") в каталог local /, отредактируйте файлы в каталоге debian / как { {1}} и создайте свой собственный пакет.

См. README , Шаги по созданию собственного пакета локального корневого CA из этого примера

Итак, быстрый способ создания и установки таких пакетов:

git clone git://anonscm.debian.org/collab-maint/ca-certificates.git ~/ca-certificates
cd ~/ca-certificates/examples/ca-certificates-local/
rm local/Local_Root_CA.crt
cp <path-to-your-cert> local/
# edit debian/control: change package-name, description, etc
# install build dependencies: http://unix.stackexchange.com/questions/177505/how-to-install-parse-build-dependencies-from-debian-control/211319#211319
dpkg-buildpackage
dpkg -i ../<package-name-version>.deb
1
27.01.2020, 22:14

Установите на другом локальном пути и запишите a postinst сценарий для создания каталога в /usr/local и скопируйте файлы там.

Как можно предположить, это, вероятно, нарушает и букву и дух политики Debian. Но это - Ваша сеть, Ваши правила, Ваши пользователи (и их легко поддающиеся обнаружению обходные решения).

Для лучшего удобства использования Вы могли отметить эти файлы как conffiles так, чтобы, по крайней мере, они были удалены, если Вы произведете чистку пакета, но останетесь при простом удалении его.

Нижняя строка, файлы dpkg не знает о, это не может удалить.

1
27.01.2020, 22:14

Теги

Похожие вопросы