LINUX.ORG.RU

Сборка deb-пакета, dh_installdocs

 , ,


1

1

Учусь собирать deb-пакеты по этой инструкции.

Как изменить путь установки документации (debian/copyright)?

По умолчанию для пакета foo оно попадает в /usr/share/doc/foo, а хотелось бы добавить префикс /opt/foo.

★★

Последнее исправление: Evenik (всего исправлений: 2)

Первое что приходит в голову - переопределить dh_installdocs. В debian/rules добавить что-то типа

override_dh_installchangelog:
    mkdir -p debian/opt/where_your_docs
    cp debian/copyright debian/opt/where_your_docs
undef ★★
()
Последнее исправление: undef (всего исправлений: 1)
Ответ на: комментарий от undef

Спасибо за ответ. Имелось ввиду debian/foo/opt/where_your_docs? В любом случае файл copyright оказывается в обоих местах.

Неужели нет способа переопределить какую-нибудь переменную?

Evenik ★★
() автор топика
Последнее исправление: Evenik (всего исправлений: 2)
Ответ на: комментарий от Evenik

О, вот так работает:

$ cat debian/rules
#!/usr/bin/make -f
%:
        dh $@

override_dh_installchangelogs:
        mkdir -p debian/foo/opt/foo/usr/share/doc/foo
        cp debian/changelog debian/foo/opt/foo/usr/share/doc/foo

override_dh_installdocs:
        mkdir -p debian/foo/opt/foo/usr/share/doc/foo
        cp debian/copyright debian/foo/opt/foo/usr/share/doc/foo

При этом без нижнего дубля mkdir не работает.

Но всё равно выглядит как-то не естественно...

Evenik ★★
() автор топика
Ответ на: комментарий от urxvt

А зачем тебе это именно в /opt, если не секрет?

Потому что апстрим не соблюдает FHS. Ну есть же стороннее ПО, которое ставится в /opt.

Evenik ★★
() автор топика
Последнее исправление: Evenik (всего исправлений: 1)
Ответ на: комментарий от Evenik

Имелось ввиду debian/foo/opt/where_your_docs?

Да, конечно.

При этом без нижнего дубля mkdir не работает.

Я невнимательно читал первое сообщение.) Тебе ж нужно всю дебиан-специфичную документацию переместить. А если так?

override_dh_installdocs:
        mkdir -p debian/foo/opt/foo/usr/share/doc/foo
        cp debian/copyright debian/changelog debian/какойтамещефайл debian/foo/opt/foo/usr/share/doc/foo

override_dh_installchangelogs:
    #пустая цель. попробовать без комментария

Но всё равно выглядит как-то не естественно…

Потому что это хак. Дебиановские тулзы будут искать свои файлы в /usr/share/doc/foo и, естественно, не найдут их. Прощай, apt-listchangelog, apt-get changelog и т.д.

undef ★★
()
Последнее исправление: undef (всего исправлений: 1)