tony2001 @ 11-02-2008 04:24:07

Краткое описание того, как я собираю пакеты на таблетке.

Disclaimer
-----
Сразу хочу предупредить: если у вас мало места на флэшках, вы не умеете пользоваться SSH
и/или собирать софт из исходников на *nix - вам это не надо.

Данное описание не претендует на полноту или полную верность, оно из разряда "works for me".
Скорее всего, собирать пакеты на самой таблетке - это неправильно.
Но ставить SDK и т.п. мне лень, поэтому я решил пойти по короткому пути.
У меня N800 с OS2008. В OS2007 что-то может отличаться, а может и нет.
Я её видел ровно 5 минут, поскольку перепрошил таблетку сразу.

Подготовка
-----
Для начала надо поставить SSH-клиент и сервер, с ними дальше будет намного проще.
Они уже есть в пакете(ах) на maemo.org, пакет называется "openssh".
Ставьте и логиньтесь на таблетку с десктопа (ssh root@<ip address>)
Здесь, кстати, поможет wifiinfo, который показывает текущий IP-адрес таблетки.
Взять его можно тут: http://anderenen.de/repository    chinook free

Очевидно, что нужен компилятор и dev-пакеты.
Выполняем в шелле от рута:
apt-get install gcc
apt-get install g++
apt-get install libc6-dev
apt-get install bzip2
apt-get install autotools-dev

Так же, вам понадобятся GNU grep & GNU tar.
Они есть у меня в репозитории (см. в самом низу).
Пакеты gtar и gnugrep.

Это небходимый минимум, далее придется ставить что-то в зависимости от того, что вы собираете.

Важный момент:
флэшки монтируются с noexec, поэтому выполнять что-то с них не получится - надо либо перемонтировать
их без этой опции, либо собирать на встроенной памяти (т.е. в домашней директории).

Собственно, на этом этапе обычные ./configure && make уже должны работать.

Сборка deb-пакета
------
После успешного окончания make, выполняем:
`make install prefix=/home/user/tmp-build/usr/local/`.

/home/user/tmp-build - это просто временная директория.
/usr/local/ - это префикс пути (./configure --prefix=<префикс>), куда будут ставиться файлы.

Это создаст /home/user/tmp-build/usr/local/ и установит все файлы пакета в эту директорию.
Скорее всего, вам надо будет удалить некоторое кол-во из этих файлов, вряд ли вам нужны хидеры и документация.

Создаём control-файл - /home/user/tmp-build/DEBIAN/control, он должен содержать примерно следующее:

Код:

Package: ftp
Section: internet
Priority: optional
Maintainer: John Doe <mail@example.com>
Version: 1.5
Architecture: armel
Description: minimalistic FTP client

Описание формата файла есть здесь: http://fts.ifac.cnr.it/cgi-bin/dwww?typ … -control/5    и в гугле.

Далее, в директории /home/user выполняем:
`dpkg-deb -b tmp-build ftp-1.5.deb`
в результате чего получаем пакет "ftp-1.5.deb" c теми файлами, которые были в /home/user/tmp-build на этот момент.

К сожалению, в dpkg-deb захардкожены команды tar, в частности опция --null, которая отсутствует в Busybox,
стоящем на таблетках.
Поэтому, для этого этапа требуется GNU tar.

Ставим пакет:
`dpkg -i ftp-1.5.deb`

Готово.

Репозиторий
------
Мой репозиторий тут:
http://maemo.daylessday.org/repo    chinook user

Пока есть следующие пакеты (новые будут добавляться по мере необходимости):
ftp-1.5
gtar-1.19
gnugrep-2.5.3
gnubash-3.2
nmap-4.53
ping-20071127
telnet-1.5
vim-7.1
whois-1.5
unrar-3.7.8
findutils-4.2.32 (нормальный find + locate)
rx-34-kernel-modules-extrafs (поддержка ext2/ext3/reiserfs/smbfs/cifs)

Если есть предложения по пакетам - обращайтесь.

tony2001 @ 11-02-2008 04:59:50

>Как на счёт использования официального garage.maemo.org для собранных пакетов?

Насколько я понимаю, garage - это собрание софта, а не собрание портов.
В любом случае, а смысл?

links есть в repostory.maemo.org:

Код:

# apt-cache showpkg links
Package: links
Versions:
0.99+1.00pre12-1osso(/var/lib/apt/lists/repostory.maemo.org_dists_chinook_free_binary-armel_Packages)

Reverse Depends:
  docbook-utils,links
Dependencies:
0.99+1.00pre12-1osso - libc6 (2 2.3.5-1) links-ssl (3 0.99-1.1)
Provides:
0.99+1.00pre12-1osso - www-browser

или это не тот линкс?

tony2001 @ 11-02-2008 05:18:26

>Ну собрание портов тоже.
я не вижу где такое сказано: "This site is meant for hosting various software projects related to the maemo development platform."

>Links2 то собранный есть, но он не хилдонизирован(у него два режима, консольный и графический использующий иксы.
я пока очень слабо себе представляю процесс хилдонизации, поэтому в первую очередь могу помочь со сборкой чего-то простого/консольного.

Unatine @ 12-02-2008 03:12:21

tony2001 говорит:

>я не вижу где такое сказано: "This site is meant for hosting various software projects related to the maemo development platform."

"software projects related to the maemo development platform" не значит что только изначально написанные программы для Maemo :) там тот же python есть, evince и много чего портированного :)

tony2001 говорит:

>Links2 то собранный есть, но он не хилдонизирован(у него два режима, консольный и графический использующий иксы.
я пока очень слабо себе представляю процесс хилдонизации, поэтому в первую очередь могу помочь со сборкой чего-то простого/консольного.

по хилдонизации существующего ПО несколько есть статей на maemo.org. с консольными вещами как раз проблем нет. исключение могут составлять вещи вроде TOR, так как они используют специфические библиотеки и привязаны к функциональности ядра.

с хилдонизацией gtk2 софта немного, если написано на python+gtk2 еще меньше :). с другим (gtk1, qt, fltk и так далее) будут проблемы уже :/

tony2001 @ 12-02-2008 03:16:21

>"software projects related to the maemo development platform" не значит что только изначально написанные программы для Maemo
ок, я подумаю на этот счёт.
вероятно, имеет смысл создать нечто подобное http://unxutils.sourceforge.net/   

>с консольными вещами как раз проблем нет.
о том и речь =)

>с хилдонизацией gtk2 софта немного
у меня пока проблемы с установкой соотв-щих devel-пакетов.
см. http://bugs.maemo.org/show_bug.cgi?id=2930   

Unatine @ 12-02-2008 04:47:36

я бы все таки посоветовал бы не мучать так таблетку, так как нормальное окружение для сборки может занять очень много места :)
cоветую вот на это посмотреть: http://maemovmware.garage.maemo.org/   
из софта будет нужен только vmware player. а внутри уже все есть :)

tony2001 @ 12-02-2008 05:15:40

посмотрю, спасибо.
пока просто лень что-то ставить только из-за идеологической неправильности.

tony2001 @ 13-02-2008 02:05:43

Посмотрел.
Под VMWare & Qemu maemo-launcher падает сразу после старта.
Я так понимаю, что для нормальной работы требуется 32-битная ОС, которой у меня нет.
Жаль.

Unatine @ 13-02-2008 02:14:13

хм. странно.
дома проверю еще раз...
хостовая ОС вроде 64бита (mac os x) + vmware fusion. но имхо дело не в этом. не должно быть разницы от хостовой ОС.
проверю - сделаю новый топик с данным вопросом.