Как редактировать бэкпортированный пакет перед его загрузкой в ​​PPA?

Я пытаюсь перенести Clang 3.2 в Quantal из Raring. Думая, что это будет относительно безболезненным процессом, я выполнил следующую команду:

backportpackage -s raring -d quantal -u ppa:george-edison55/clang3.2-backports clang

Пакет был загружен в PPA без каких-либо ошибок и также собран без каких-либо ошибок. К сожалению, его невозможно установить, поскольку файл debian/control содержит следующие зависимости:

Depends: ... libgcc-4.7-dev, libobjc-4.7-dev ...

Эти пакеты не существуют в Quantal. Содержимое этих пакетов содержится в пакетах gcc-4.7 Install gcc-4.7 и gobjc-4.7 Install gobjc-4.7 . Моя проблема в том, что я понятия не имею, как внести изменения перед загрузкой пакета в мой PPA.

Я попытался дать указание backportpackage не загружать в мой PPA и выкидывать файлы в /tmp/clang3.2, где я их редактировал. Однако попытка загрузить пакет просто приводит к повторной загрузке оригинала .tar.gz и перезаписи моих изменений.

Как правильно это делать?

2
задан 11 March 2017 в 22:03

1 ответ

Даже при том, что существует -w опция, которая говорит backportpackage сохранять рабочий каталог, нет все еще никакого способа сказать, что это сохраняет распакованный (и измененный) источниками также. Таким образом, вот то, что работало на меня:

  1. Скопируйте программу локально для изменения его:

    cp /usr/bin/backportpackage ~

  2. Откройте локальный файл и найдите функцию do_backport. Его последняя строка должна быть похожей

    shutil.rmtree (srcdir)

  3. Удалите ту строку, сохраните файл и запустите скрипт, поскольку Вы обычно делаете это, удостоверьтесь, что обеспечили -w опция указать рабочий каталог.

  4. Перейдите к рабочему каталогу. Должен быть подкаталог с именем как <пакет> - <dist>, например, gcc-гостеприимен.
  5. cd к тому каталогу сделайте любые изменения, которые Вы хотите сделать.
  6. Сделайте debian пакет. Подпишите и загрузите результат:

    debuild --no-lintian -S -nc -uc -us -sd

    debsign ../<package-version>_source.changes

    dput -u ppa:<user>/<repo> <package-version>_source.changes

1
ответ дан 2 December 2019 в 05:25

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

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