Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 23 сен 2018, 16:11




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
СообщениеДобавлено: 18 дек 2005, 13:25 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 06.02.2002
Сообщения: 9760
Откуда: Менск
собственно, временами хочется поставить на debian-подобные системы что-то из исходников...
Дале описан самый быстрй и самый изуверский способ получения deb-пакетов из исходников ;)

1) Все делаем от юзера.
2) Распаковываем исходники, читаем INSTALL, ./configure --help, запускаем ./configure с нужными опциями, запускаем make.
3) после успешной компиляции создаем некий каталог, например /tmp/package
4) делаем make install DESTDIR=/tmp/package/
внимательно наблюдаем за выводом make install - если небыло ругни на permission denied - значит добрые разработчики предусмотрели обработку параметра DESTDIR и нам повезло ;)
5) в /tmp/package создаем подкаталог DEBIAN, в нем
- файл control.
примерное содержимое файла:

Код:
Package: licq-plugin-icqnd
Architecture: i386
Depends: licq
Provides: licq-plugin
Priority: optional
Version: 0.1.9.3
Maintainer: nobody care
Description: graphical user interface plug-in for Licq using GTK2
 This package provides the GTK2-based graphical user interface to the Licq


Надеюсь, в поянениях не нуждается...
Далее, выполняем команду:
dpkg-deb -b /tmp/package package-version-arch.deb
И получаем файл package-version-arch.deb пригодный к установке.

Более человечный способ описан напрмер тут:
http://women.alioth.debian.org/wiki/ind ... houtHelper
Но мне как-то и эотго хватает ;)

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Последний раз редактировалось Llama 03 май 2007, 18:37, всего редактировалось 1 раз.

Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 18 дек 2005, 16:02 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 03.11.2004
Сообщения: 1373
Откуда: Минск
Вот спасибо ... давно искал подобную инфу. теперь соберу k3b 0.12.9.

_________________
Ненасилие ещё никому не помогало
Trying is the first step towards failure (c) Homer Simpson


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 20 дек 2005, 23:11 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 12.03.2005
Сообщения: 258
Откуда: Минск
kif0rt,
А почему не 0.12.10?

_________________
Debian


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 21 дек 2005, 20:21 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 06.02.2002
Сообщения: 9760
Откуда: Менск
Еще hint: допустим путем безчеловечных экспириментов поломана система зависимостей в дистриубтиве...

Например, какомй-то пакету очень хочется видеть
пакет mozilla-firefox-gnome-support, а у нас есть только firefox-gnome-support. Далее есть два пути:
1) Правильный - сделать apt-get build-dep firefox-gnome-support && apt-get sources firefox-gnome-support, после чего поправить debian/control дописав в описание пакета строчку Provides: mozilla-firefox-gnome-support или поправив существующий Provides:, после чего сделать fakeroot dpkg-buildpackage. Подождать пока все скомпилится, поставить поправленый пакет. Но на dialup так сделать трудно - больно много возможно придется качать.
2) Неправильный путь. Создаем пустой каталог, в нем - DEBIAN/control примерно такого содержания, после чего собираем пакеты как было описано выше и ставим его.

Код:
Package: fake-mozilla-firefox-gnome-support
Maintainer: nobody care
Architecture: i386
Section: gnome
Depends: firefox
Provides: mozilla-firefox-gnome-support
Version: 0.1
Description: Package to provide fake-mozilla-firefox-gnome-support
 Package to provide fake-mozilla-firefox-gnome-support - from scratch

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 22 дек 2005, 00:03 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 03.11.2004
Сообщения: 1373
Откуда: Минск
*Sasha* писал(а):
kif0rt,
А почему не 0.12.10?


хм ... верси плодятся как кролики. щас будем качать.

_________________
Ненасилие ещё никому не помогало
Trying is the first step towards failure (c) Homer Simpson


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22 дек 2005, 23:40 
Неотъемлемая часть форума

У нас с: 23.04.2005
Сообщения: 279
Откуда: minsk
Llama писал(а):
4) делаем make install DESTDIR=/tmp/package/
внимательно наблюдаем за выводом make install - если небыло ругни на permission denied - значит добрые разработчики предусмотрели обработку параметра DESTDIR и нам повезло ;)


Тут можно и посмотреть Makefile - куда оно собирается ставить то , что скомпилено, и отредатровать соответствующую переменную. Обычно ее значение "/usr/local/".


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 15 фев 2006, 21:35 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 06.02.2002
Сообщения: 9760
Откуда: Менск
Ну... /usr/local/ вобщем-то можно задать и на этапе ./configure - там будет правильнее.
ИМХО править в makefile префикс не стоит - ибо вполне может оказаться что при работает какой-нить скрипт который модифицирует скажем в скриптах/либах/модулях некие занчения соответсвенно prefix (вполне вероятно для программ использующих что-то интерпретируемое в качестве модулей)
Правильнее будет посмотреть в Makefile каким образом вызывается install - почти всегда это что-то вида
Код:
INSTALL = /path/to/install
и вызывается оно чем-то вида $(INSTALL) $(src-localtion)/binary-file $(INSTALL_ROOT)/$(BINARY_PREFIX)


Соответсвенно проверяем по MAKEFILE - скорее всего переменная INSTALL_ROOT в Makefile нигде не задается, соотвественно ее можно задать перед вызовом:
Код:
INSTALL_ROOT=/tmp/package make install


PS: для ленивых - INSTALL_ROOT используется при сборке php ;)

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 24 апр 2006, 02:43 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 12.01.2005
Сообщения: 289
Откуда: Minsk
такой вот трабл: ставлю arts из исходников при этом убив старый. прописываю в control Provides: libartsc0, libartsc0-dev, libarts1, libarts1-dev, arts
cтавлю собраный пакет, запускаю aptitude.
в результате собраный пакет стоит, но новых виртуальных пакетов нет. при этом в инфомации об установленном пакете указано:
Код:
i    --\ arts-1.5.2                                                             1.5.2-1    <none>
  Description: arts

  Priority: extra
  Section: checkinstall
  Maintainer: root@localhost.localdomain
  Compressed size: 0
  Uncompressed size: 5528k
  Source Package: arts-1.5.2
  --\ Package names provided by arts-1.5.2
p  U arts                                                                       <none>     1.3.2-3
p  U libarts1-dev                                                               <none>     1.3.2-3
p  U libartsc0-dev                                                              <none>     1.3.2-3
p  U libarts1                                                                   <none>     1.3.2-3
p  U libartsc0                                                                  <none>     1.3.2-3
  --\ Packages which depend on arts-1.5.2
    --\ Depends
p  U  kde-core 5:44
p  U  kde-devel 5:44
p  U  libsdl1.2-dev 1.2.7+1.2.8cvs20041007-4.1
p  U  libarts1-dev 1.3.2-3
p  U  kde-devel 5:44
p  U  vlc-plugin-arts 0.8.4-svn20050920-3+hal0+linex1
p  U  vlc-plugin-arts 0.8.1.svn20050314-1
    --\ Suggests
i  U  libxine1 1.0.1-1.3bpo2
p  U  libxine1 1.0.1-1sarge1
i  U  libao2 0.8.6-1
  --\ Versions
i    1.5.2-1

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

_________________
cheers,
phaoost.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 04 июл 2006, 12:09 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 02.07.2006
Сообщения: 219
Код:
 apt-get install checkinstall


Код:
 ./configure && make && checkinstall


При сборке пакета можно будет указать данные о пакете и т.п. Собранный пакет будет лежать в корне дерева исходников. Его можно сохранить для последующих установок (сам пакет уже установлен)

По поводу предыдущего поста - из имени пакета убери версию. При checkinstall это второй пункт.

_________________
Registered Linux User #377068
OS: Debian GNU/Linux
Присоединяемся к акции массового перехода на Jabber -
самую современную сеть обмена мгновенными сообщениями!


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 04 июл 2006, 12:39 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 06.02.2002
Сообщения: 9760
Откуда: Менск
если уж юзать автоматизированные тулзы - то проще и правильнее сделать apt-get install maint-guide-ru && zless /usr/share/doc/maint-guide-ru/maint-guide/maint-guide.ru.txt.gz |iconv -f koi8r |less родные дебиановские dh-* тулзы не сложнее а результат получается ИМХО чуть более корректным.

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
СообщениеДобавлено: 15 окт 2008, 02:29 
Заглянувший

У нас с: 15.10.2008
Сообщения: 2
вот такая вот поблема
checking for a BSD-compatible install... /usr/bin/instal -c
checking whether bild environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... i686-pc-gnulibc1
checking host system type... i686-pc-gnulibc1
configure: error: "Sorry, build is only supported for GNU/Linux"
ну не как не пойму чего не хватает.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
СообщениеДобавлено: 16 окт 2008, 13:05 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 30.08.2002
Сообщения: 2339
Откуда: Minsk
Igorila, подземный стук не лечим

не указано что собирается, в каком окружении и чем

_________________
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
СообщениеДобавлено: 24 окт 2009, 23:11 
Заглянувший

У нас с: 24.10.2009
Сообщения: 5
Может есть способ автоматизировать процесс сборки? Т.е. из архива исходников получить deb-пакет с минимальными движениями.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
СообщениеДобавлено: 24 окт 2009, 23:13 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 06.02.2002
Сообщения: 9760
Откуда: Менск
red1ynx, checkinstall

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100