Краткое описание того, как я собираю пакеты на таблетке.
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: user/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 (23-08-2008 14:01:21)
Неактивен
>Как на счёт использования официального 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
или это не тот линкс?
Неактивен
>Ну собрание портов тоже.
я не вижу где такое сказано: "This site is meant for hosting various software projects related to the maemo development platform."
>Links2 то собранный есть, но он не хилдонизирован(у него два режима, консольный и графический использующий иксы.
я пока очень слабо себе представляю процесс хилдонизации, поэтому в первую очередь могу помочь со сборкой чего-то простого/консольного.
Неактивен
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 и так далее) будут проблемы уже ![]()
Неактивен
>"software projects related to the maemo development platform" не значит что только изначально написанные программы для Maemo
ок, я подумаю на этот счёт.
вероятно, имеет смысл создать нечто подобное http://unxutils.sourceforge.net/ 
>с консольными вещами как раз проблем нет.
о том и речь ![]()
>с хилдонизацией gtk2 софта немного
у меня пока проблемы с установкой соотв-щих devel-пакетов.
см. http://bugs.maemo.org/show_bug.cgi?id=2930 
Неактивен
я бы все таки посоветовал бы не мучать так таблетку, так как нормальное окружение для сборки может занять очень много места
cоветую вот на это посмотреть: http://maemovmware.garage.maemo.org/ 
из софта будет нужен только vmware player. а внутри уже все есть ![]()
Неактивен
посмотрю, спасибо.
пока просто лень что-то ставить только из-за идеологической неправильности.
Неактивен
Посмотрел.
Под VMWare & Qemu maemo-launcher падает сразу после старта.
Я так понимаю, что для нормальной работы требуется 32-битная ОС, которой у меня нет.
Жаль.
Отредактированно tony2001 (13-02-2008 02:06:01)
Неактивен
хм. странно.
дома проверю еще раз...
хостовая ОС вроде 64бита (mac os x) + vmware fusion. но имхо дело не в этом. не должно быть разницы от хостовой ОС.
проверю - сделаю новый топик с данным вопросом.
Неактивен
tony2001 говорит:
/usr/local/ - это префикс пути (./configure --prefix=<префикс>), куда будут ставиться файлы.
А таблетка видит по умолчанию то что ставится в /usr/local/bin ?? (пока из моих проб как будто не видит исполняемого файла туда установившегося)
И ещё, если на закладке "Проблемы" в Диспетчере приложений пишет что не может установить из-за несовместимого пакета приложений
Это означает что например? )
Под скэтчбоксом собрался дэбпакет и установился с пом. dpkg (на таблетке кстати тоже ставится из консоли с пом. dpkg) но хочется ж что б и в Диспетчере ставился - в чём несовместимость, в описании control гдето траблы или глубже? ![]()
Неактивен
>А таблетка видит по умолчанию то что ставится в /usr/local/bin ??
>(пока из моих проб как будто не видит исполняемого файла туда установившегося)
у вас /usr/local/bin в PATH есть?
если нет - указывайте просто полный путь от корня.
или добавльте его в PATH.
>И ещё, если на закладке "Проблемы" в Диспетчере приложений пишет что не может установить
>из-за несовместимого пакета приложений Это означает что например? )
это означает, что неправильно указана категория в control.
должно быть что-то типа "Section: user/utils", часть с "user/" - обязательна.
Неактивен
tony2001 говорит:
это означает, что неправильно указана категория в control.
должно быть что-то типа "Section: user/utils", часть с "user/" - обязательна.
Одно уточнение - 'user' нужно добавлять, если хотите, чтобы пакет был виден в списке менеджера программ. Для зависимых пакетов, например, библиотек, этого лучше не делать. Зависимости менеджер приложений вытащит из репозитория и поставит сам. И при удалении основного пакета сам удалит.
Естественно, все вышесказанное имеет смысл если ваши пакеты лежат в репозитории.
Неактивен
Спасибо! )
Правда совершенно случайно само расфиксилось - просто взял чужой control (и там таки да - на удачу user/ был ато б морочился )
Наверно имеет смысл топикстартеру подправить пример ![]()
Щас запостю переподелку
вдруг кому пригодится )
Отредактированно DJArty (23-08-2008 13:20:19)
Неактивен
Я собираю из исходников Дебиана. Как - написано в Дебиан wiki.
Конечно хилдонизации нет.
Неактивен