Автоматически подписать файлы пакетов из debuild и загрузить с dput

Я создал исходный пакет для библиотеки I, над которой я работаю. Я использую debuild для его создания, а затем могу успешно загрузить его с помощью dput.

Теперь я хочу настроить его, чтобы я мог сделать это автоматически у Дженкинса. Основная проблема, с которой я столкнулся, - это подписать файлы .dsc и .changes. То, что я пытаюсь сделать, это подписать пакеты с gpg, а не делать debuild. Таким образом, я могу автоматически подписывать файлы с помощью опции gpg --passphrase-fd 0.

Поэтому я использую debuild с параметрами -uc и -us, а затем удаляет файлы с помощью gpg. Но когда я делаю это, он создает отдельные .dsc.asc и source.changes.asc. Когда я пытаюсь загрузить с помощью dput, я получаю сообщение об ошибке

Checking signature on .changes
gpg: no valid OpenPGP data found.
gpg: the signature could not be verified.
Please remember that the signature file (.sig or .asc)
should be the first file given on the command line.

. Это может показаться, что я должен указать файл .asc в качестве аргумента dput, но я не могу заставить это работать.

1
задан 3 December 2012 в 06:34

1 ответ

Я нашел следующее решение с опцией debsign и -p:

используйте debuild без подписи, как вы уже упоминали, используйте debsign с опцией -p, устанавливая парольную фразу для использования, например
debsign \
  -p'gpg --passphrase-file /home/myname/my_passphrase_file.txt --batch --no-use-agent'\
  -S -kMYKEYID package_source.change

Все еще есть некоторые другие проблемы, но эта часть выглядит как работающая. Подписание файлов с помощью GPG напрямую не работает, поскольку контрольные суммы, вычисленные во время debuild, изменяются.

Я всегда предпочитаю хранить ключи с кодовой фразой.

5
ответ дан 25 May 2018 в 03:44

Другие вопросы по тегам:

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