debuild - секретный ключ, не доступный (кто-то elses ключ)

Я пытаюсь создать Каир с debuild.

Я добираюсь в конец и это сообщение:

gpg: skipped "Robert Ancell <robert.ancell@canonical.com>": secret key not available

Так как я не Robert Ancell, это имеет смысл - как я заставляю его использовать мой собственный ключ?

gpg --list-key outputs:
$ gpg --list-key /home/stu/.gnupg/pubring.gpg
 ----------------------------
pub   1024R/2ADA7053 2009-05-04 uid                  Launchpad PPA for Aleksander Morgado

pub   2048R/17F35B46 2015-01-28 uid                  Stuart Axon
<stu.axon@gmail.com> uid                  Launchpad PPA for Stuart
Axon <stuaxo2@yahoo.com> sub   2048R/B8E8ED59 2015-01-28

и у меня есть огибающий var:

DEBSIGN_KEYID=17F35B46
7
задан 22 February 2016 в 17:52

4 ответа

debuild просит ключ пользователя, кто продержался, отредактировал журнал изменений. Если Вы загружаете на PPA затем, Ваш пакет должен в настоящее время отличаться от своего эквивалента в репозиториях и таким образом, необходимо было отредактировать журнал изменений.

Использование dch для обновления версии и журнала изменений затем восстановите. debuild попросит Ваш ключ. (Если Вы не уверены, какие номера версий использовать смотрят на документы справки Панели запуска. )

8
ответ дан 23 November 2019 в 06:10

Используйте -k опция сказать debuild который ключ использовать, например,

debuild -kB57F5641

Примечание, что нет никакого пространства, предоставленного между -k и ключевой идентификатор.

5
ответ дан 23 November 2019 в 06:10

Во-первых, с каждым пересмотром пакета, необходимо отредактировать журнал изменений. Это - требование при внесении изменений в пакет; можно добавить такие журналы изменений с dch, как Seth предполагает.

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

<час>

я не полагаю, что любой из ответов здесь на 100% завершен. Поэтому я украду немного от обоих, но добавлю свое собственное предложение и решение здесь, поскольку я делаю это с nginx слияния пакета довольно часто.

, Чтобы заключить Seth в кавычки, debuild определит ключ на основе того, каков последний редактор журнала изменений был. Это автоматически, и необходимо будет обновить журнал изменений для использования учетных данных в них в конце последней записи журнала изменений.

<час>

, Как был указан Florian, тем не менее, можно также использовать -kKEYIDNUM, опция к debuild говорит его который ключ подписаться с и осуществить использование того ключа.

<час>

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

В течение самого долгого времени я столкнулся с этой проблемой каждый раз, когда мои старые жесткие диски перестали работать в моей предыдущей системе. Я не хотел редактировать changelog каждый раз, действительно, и при этом я действительно не хотел вручную передавать -k опция каждый раз к debuild.

Наконец, MOTUs помог мне решить проблему путем явного определения того, какой ключ подписать с, путем представления меня .devscripts, которые debuild и другие призывают переменные среды с вещами, определенными в них; это разрешило мне добавлять опции, которые dpkg-buildpackage, который debuild вызовы, будут всегда добавлять.

Так, для создания -k опция работает автоматически на каждый debuild, Вы работаете, можно добавить это к Вам ~/.devscripts файл и автоматически добавить -k опция, как так:

DEBUILD_DPKG_BUILDPACKAGE_OPTS="-kABCD1234"

Это сделает, это постоянно добавляло к эти debuild опции; это - также способ осуществить тот Ваш ключ, будет всегда использоваться для подписания.

Это помогает мне для обеих загрузок Ubuntu, но также и для загрузок PPA.

3
ответ дан 23 November 2019 в 06:10

Я в настоящее время использую XUbuntu 16.04 "Гостеприимный Xerus" и испытывал ту же проблему: оба debuild и debsign возвращали этот секретный ключ не доступная ошибка, хотя я действительно создавал локальный ключ и по тому, как я загрузил его на Keyserver Ubuntu, также.

Я уже попытался вручную установить свой ключ при помощи -k опция. Я также установил свой ключ как мой ключ по умолчанию, и я также отредактировал debian/changelog файл, среди БОЛЬШОГО КОЛИЧЕСТВА других вещей, но ничто не работало: Я все еще получал ту же ошибку.

... затем я понял, что создал свой ключ с gpg2 вместо gpg. Угадайте то, что я сделал?

  • Во-первых, я открыл окно терминала оболочки и переименовал gpg двоичный файл:

    sudo mv /usr/bin/gpg /usr/bin/gpg.bak
    
  • Затем я создал a gpg символьная ссылка, указывающая gpg2 двоичный файл:

    sudo ln -s /usr/bin/gpg2 /usr/bin/gpg
    

После того, как я сделал это, команды как debuild -S -sa, debsign some-file_source.changes и так далее наконец работавший.

Я не знаю то, что точно является неправильным с debuild, debsign, dpkg-buildpackage и так далее, но у меня создается впечатление, что они отправляют параметры в gpg хотя только gpg2 может проанализировать ("понимают") такие параметры. Следовательно, создание символьной ссылки (для создания фальшивки gpg двоичный файл, который на самом деле выполняет gpg2 двоичный файл) решает проблему.

Существуют более изящные пути, хотя вызвать debsign использовать gpg2:

  • Набор -pgpg2 опция debsign.
  • Набор DEBSIGN_PROGRAM=gpg2 в /etc/devscripts.conf или ~/.devscripts.
6
ответ дан 23 November 2019 в 06:10

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

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