Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: dpkg-buildpackage -rfakeroot как можно разбить эту команду на этапы?  (Прочитано 3677 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн inhab

  • Автор темы
  • Участник
  • *
  • Сообщений: 106
    • Просмотр профиля
Пытаюсь собрать деб для sams2.
Если просто собирать прогу по этой инструкции то все заводиться http://v-alexeev.ru/sams-squid-ubuntu-12-04/#comment-12895
А вот деб не собирается, так как после ./configure нужно пропатчить файл libtool. Как мне вклинить патч в команду dpkg-buildpackage?
Собираю деб первый раз, сильно не пинайте гуглом. Спасибо.
- Вложения и другие параметры

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
В dpkg-buildpackage — никак.
Вам нужно внести правки в debian/rules в секцию configure. Патч по ссылке у меня отказался применяться, пришлось делать свой.
Я попробовал собрать пакет. Алгоритм такой
1. svn checkout http://sams2.googlecode.com/svn/trunk/ sams
2. cp -rp sams sams.orig
3. mv sams sams2-2.0.0; cd sams2-2.0.0
4. dh_make --createorig
5. make -f Makefile.cvs; ./configure
6. cp libtool libtool.orig
7. Находим строку 6000 в файле libtool, правим
8. diff -Naur libtool.orig libtool > ../libtool-path.patch
9. cd ../; rm -rf sams-2.0.0
10. cp -rp sams.orig sams2-2.0.0; cd sams2-2.0.0
11. dh_make
12. cp ../libtool-path.patch debian/patches
13. Правим debian/rules, добавляем в секцию config.status: patch строку
patch -f -p1 -i debian/patches/libtool-path.patch libtool после ./configure --bla-bla
Так
Код: (make) [Выделить]
config.status: patch
        dh_testdir
        make -f Makefile.cvs
        # Add here commands to configure the package.
        ./configure --libdir=/usr/lib --with-pq-includes=/usr/include/postgresql --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix= --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"
        patch -f -p1 -i debian/patches/libtool-path.patch libtool
14. dpkg-buildpackage -rfakeroot
Это конечно не красиво, Вам нужно написать тикет.

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 25 Октября 2015, 08:53:59 от koshev »
OpenWrt 19.07

Оффлайн inhab

  • Автор темы
  • Участник
  • *
  • Сообщений: 106
    • Просмотр профиля
Спасибо, буду пробовать. Тикет пока писать нет смысла, разраб потерялся.
О результате сообщу.
А если самому поправить? Это надо в код лезть или лопатить саму сборку?

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Скорее всего в коде самсы  надо править.
И, чтобы два раза не вставать
Пакеты и макет для сборки https://launchpad.net/~konst-shell/+archive/ubuntu/msk1
« Последнее редактирование: 25 Октября 2015, 20:59:33 от koshev »
OpenWrt 19.07

Оффлайн inhab

  • Автор темы
  • Участник
  • *
  • Сообщений: 106
    • Просмотр профиля
В твоей заготовке, нема php части, хотя оригинальном коде она присутствует debian/sams-web. Или это нужно отдельно дебить?

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Есть там всё. Пакет sams2-web_2.0.0-1.1_all.deb
http://ppa.launchpad.net/konst-shell/msk1/ubuntu/pool/main/s/sams2/
OpenWrt 19.07

Оффлайн inhab

  • Автор темы
  • Участник
  • *
  • Сообщений: 106
    • Просмотр профиля
В выложенной на яндексе заготовке нет, я сам хочу скомпилить.

Оффлайн ColdEgo

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
koshev,
Спасибо Вам за идею патчить libtool с помощью файла debian/rules прямо при сборке deb-пакетов sams2. Сам уже довольно долго мучаюсь с этим, но до этого не додумался.  :idiot2:
Linux Mint 17.3 "Rosa" (Intel Core i5 M520, 4GB RAM, Nvidia Quadro NVS 3100M)
Registered linux user #439313

 

Страница сгенерирована за 0.039 секунд. Запросов: 25.