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

Откройте ваш firefox и nevigate в -

Правка> Настройки> Содержимое, как показано ниже -

И выберите Изменить> Настройки> Контент с размером шрифта 16 ..

Надеюсь, это вам помогло. В противном случае, как сказал Уилф, установите Ubuntu-limited-Extras, если вы этого не сделали.

1
задан 23 February 2016 в 04:52

3 ответа

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

Я уже пытался вручную установить свой ключ с помощью опции -k. Я также установил ключ в качестве ключа по умолчанию, и я также отредактировал файл debian/changelog, среди множества других вещей, но ничего не получилось: я все еще получал ту же ошибку.

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

Во-первых, я открыл окно терминала оболочки и переименовал двоичный файл gpg:
sudo mv /usr/bin/gpg /usr/bin/gpg.bak
Затем я создал символическую ссылку gpg, указывающую на двоичный файл gpg2:
sudo ln -s /usr/bin/gpg2 /usr/bin/gpg
[ ! d7]

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

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

Есть более элегантные способы, хотя для принудительного использования debsign использовать gpg2:

Сначала я открыл окно терминала оболочки и переименовал двоичный файл gpg:
sudo mv /usr/bin/gpg /usr/bin/gpg.bak
Установите DEBSIGN_PROGRAM=gpg2 в /etc/devscripts.conf или ~/.devscripts.
4
ответ дан 23 May 2018 в 13:20
  • 1
    Этот ответ - туз ... теперь - где мы делаем отчеты об ошибках. Я предполагаю, если вместо создания символической ссылки вы меняете debuild и debsign на gpg2 вместо gpg, это работает? - Тогда был какой-то путь к патчу ... – Stuart Axon 9 September 2016 в 00:29
  • 2
    @StuartAxon debuild и debsign являются частью пакета devscripts , а dpkg-buildpackage является частью пакета dpkg-dev . В дистрибутивах Ubuntu обе devscripts и dpkg-dev поддерживаются Ubuntu Developers & lt; ubuntu-devel-discuss@lists.ubuntu.com> ;, таким образом, хороший способ сообщить ошибка в этих пакетах заключается в том, чтобы запустить apport: apport-bug devscripts поможет вам создать отчет об ошибке для devscripts на Launchpad, а apport-bug dpkg-dev сделает то же самое для dpkg-dev на Launchpad. – Yuri Sucupira 10 September 2016 в 04:42
  • 3
    Спасибо огромное! Я потратил целый день, пытаясь разобраться в одной и той же проблеме, но пришел только через ответы, предлагающие создать новый ключ. Я с миром мигрировал в gpg2 и, наконец, грабил gpg. – Alexander Solovets 22 March 2017 в 03:40
  • 4
    @ АлександрСоловец. Добро пожаловать. :) И спасибо за предлагаемое редактирование. :) – Yuri Sucupira 22 March 2017 в 03:55

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

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

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

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

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

не имеет дополнительных изменений [ ! d2]

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

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

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

DEBUILD_DPKG_BUILDPACKAGE_OPTS="-kABCD1234"

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

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

3
ответ дан 23 May 2018 в 13:20

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

debuild -kB57F5641

Обратите внимание, что между -k и идентификатором ключа нет пробела.

2
ответ дан 23 May 2018 в 13:20

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

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