20090706

пересборка erlang R13B01 в debian lenny

в репозиториях debian lenny лежит erlang версии R12B3.
в testing-е (в данный момент) — R13B.
и лишь в unstable (в данный момент) — последняя версия с erlang.org — R13B01.

чтобы собрать пакеты для lenny, потребуются три файла со страницы http://packages.debian.org/sid/erlang:
$ cd /usr/src/
$ wget http://ftp.de.debian.org/debian/pool/main/e/erlang/erlang_13.b.1-dfsg-3.dsc \http://ftp.de.debian.org/debian/pool/main/e/erlang/erlang_13.b.1-dfsg.orig.tar.gz \http://ftp.de.debian.org/debian/pool/main/e/erlang/erlang_13.b.1-dfsg-3.diff.gz
/usr/src — это общепринятое место для сборки. чтобы рядовой пользователь мог писать в этот каталог, он должен входить в группу src (по крайней мере в debian это так).
имена актуальных на момент прочтения файлов имеет смысл брать непосредственно с вышеуказанной страницы.

для начала должны быть установлены по крайней мере пакеты build-essential и devscripts.
какие ещё пакеты понадобятся для сборки erlang-а, проще всего узнать методом «научного тыка».
итак, распаковываем исходники с одновременным наложением debian-овских патчей:
$ dpkg-source -x erlang_13.b.1-dfsg-2.dsc
$ cd erlang-13.b.1-dfsg
$ dch -i
у вас открылся редактор с уже загруженным файлом ./debian/changelog. и сразу же в нём добавился шаблон для новой записи. я привёл её первые строки к примерно такому виду:
erlang (1:13.b.1-dfsg-2.1-backport) stable; urgency=low
* Non-maintainer upload.
* backport to lenny
т.е., добавил в имя пакета слово «-backport» (не обязательно, но полезно), заменил «testing» на «stable» и вписал соответствующий комментарий.
после сохранения файла всё готово для сборки:
$ dpkg-buildpackage -sa
если каких-то пакетов не хватает, именно сейчас вы об этом и узнаете (улыбка).

после завершения сборки (процесс длительный) в каталоге /usr/src вы обнаружите собранные пакеты. установить их можно, как обычно, программой dpkg:
$ sudo dpkg -i пакет1 пакет2 …


p.s. ежели кто из читателей знает более короткое/правильное решение — you are welcome.

p.p.s. до встречи через 100000 секунд.

♺ man dpkg-source dch dpkg-buildpackage
http://wiki.debian.org/DebianRussian/DebinstPackages

Комментариев нет: