О сборке...

1 view
Skip to first unread message

Nikolay Shaplov

unread,
Apr 9, 2008, 3:51:09 PM4/9/08
to fbrea...@googlegroups.com

Скажите, а как вообще в теории предполагается собирать FBReader, прямо
непосредственно на устройстве, или же все-таки на стационарном компе, а
потом результат копировать на устройство?

Если на устройстве, то как предполагается быть с install и wildcard,
которых нет в busy box.

А если нет, то как тогда результат сборки должен попадать на устройство?

Nikolay Pultsin

unread,
Apr 10, 2008, 5:43:12 AM4/10/08
to fbreader-ru
Как предполагается -- неясный вопрос, разные люди по-разному делают.
Все версии
с официального сайта собираются на одном и том же десктопе под
линуксом.

При этом собираются, естественно, установочные пакеты. Как попадают на
устройство -- на большинстве
устройств, что я видел, есть сеть в том или ином виде -- начиная от
usb-провода и заканчивая WiFi,
вот через посредство этой сети и попадают. На одном устройстве сеть
однажды не работала, переносили
программу посредством (почтовых голубей)  sd-карточки.

-- НП

Nikolay Shaplov

unread,
Apr 11, 2008, 7:27:09 AM4/11/08
to fbrea...@googlegroups.com

Я видимо не вполне ясно выразился...

Немного предистории... У меня iPAQ h4125 под Angstrom Linux. Я
полувручную собрал на нем FBReader, успешно им пользуюсь, и теперь хочу
сделать более автоматизированный вариант, чтобы можно было бы его
добавить в проект. Чтобы сделать этот вариант, мне нужно понять
некоторые идеологические моменты, чтобы сделать по образу и подобию...

Итак...

Если собирать Ридер прямо на PPC, то возникают проблемы от того, что
там нету утилиты install, ибо busybox... Я с этим явлением борюсь путем
написания специального перлового скрипта имитирующего install, который
прописывается в PATH, но это решение мягко говоря не лучшее...
В результате первый вопрос который возникает, а имеет ли смысл
реализовывать лучшее решение для этой проблемы, (с целью добавить его в
проект в последствии) или лучше с этим не возиться.

По поводу того как попадают... Собирая что-то у себя на компьютере, я
привык, что после того как я что-то собиру, я делаю sudo make intsall и
все встает на свои места. Если я буду собирать FBReader для КПК на PC,
то make install сотворит ужасное... Правильно ли я понимаю что для
сборки на PC нужно реализовать заворачивание всего собранного в пакет
(как минимум простой tgz) который потом уже будет разварачиваться на
КПК... Так как это сделано для каких-то из архитектур...

Nikolay Pultsin

unread,
Apr 11, 2008, 2:24:44 PM4/11/08
to fbreader-ru
> Немного предистории... У меня iPAQ h4125 под Angstrom Linux. Я
> полувручную собрал на нем FBReader, успешно им пользуюсь, и теперь хочу
> сделать более автоматизированный вариант, чтобы можно было бы его
> добавить в проект. Чтобы сделать этот вариант, мне нужно понять
> некоторые идеологические моменты, чтобы сделать по образу и подобию...

Если под "чтобы попал в проект" подразумевается включение в мейнстрим,
то сборка определенно должна делаться кросскомпилятором на линуксовом
десктопе.
Еще нужно рассказать, где и как этот кросскомпилятор + все библиотеки
к нему
можно взять, чтобы я мог на своем компьютере (с Debian) его
установить.

> Если собирать Ридер прямо на PPC, то возникают проблемы от того, что
> там нету утилиты install, ибо busybox... Я с этим явлением борюсь путем
> написания специального перлового скрипта имитирующего install, который
> прописывается в PATH, но это решение мягко говоря не лучшее...
> В результате первый вопрос который возникает, а имеет ли смысл
> реализовывать лучшее решение для этой проблемы, (с целью добавить его в
> проект в последствии) или лучше с этим не возиться.

Думаю, не стоит.

> По поводу того как попадают... Собирая что-то у себя на компьютере, я
> привык, что после того как я что-то собиру, я делаю sudo make intsall и
> все встает на свои места. Если я буду собирать FBReader для КПК на PC,
> то make install сотворит ужасное... Правильно ли я понимаю что для

Вообще-то в конце сборки (поcле компиляции) для ЛЮБОЙ платформы
делается
DESTDIR=<нечто> make install, а потом из этого <нечто> строится пакет
для
этой платформы.

> сборки на PC нужно реализовать заворачивание всего собранного в пакет
> (как минимум простой tgz) который потом уже будет разварачиваться на
> КПК... Так как это сделано для каких-то из архитектур...

Да, именно так. Я не в курсе, какие пакеты принято делать для Angstom,
tgz так
tgz, хотя неужели там нет никакого package manager'а?

Надеюсь, теперь ответил по существу.

-- НП

Nikolay Shaplov

unread,
Apr 11, 2008, 2:41:05 PM4/11/08
to fbrea...@googlegroups.com
On Fri, 11 Apr 2008 11:24:44 -0700 (PDT)
Nikolay Pultsin <geom...@mawhrin.net> wrote:

> > Немного предистории... У меня iPAQ h4125 под Angstrom Linux. Я
> > полувручную собрал на нем FBReader, успешно им пользуюсь, и теперь
> > хочу сделать более автоматизированный вариант, чтобы можно было бы
> > его добавить в проект. Чтобы сделать этот вариант, мне нужно понять
> > некоторые идеологические моменты, чтобы сделать по образу и
> > подобию...
>
> Если под "чтобы попал в проект" подразумевается включение в мейнстрим,
> то сборка определенно должна делаться кросскомпилятором на линуксовом
> десктопе.
> Еще нужно рассказать, где и как этот кросскомпилятор + все библиотеки
> к нему
> можно взять, чтобы я мог на своем компьютере (с Debian) его
> установить.

Кабы я знал...
Я потому-то и собирал это все прямо на КПК, потому что не вполне
понимаю как и чем это все собирать на десктопе...
То есть чем -- понятно... gcc он и в Африке gcc... Но вот что ему нужно
сказать... и как и какие библиотеки подсунуть... :-/
Сами разработчики, пакеты для этого дистра собирают при помощи
страшного монстра OpenEmbedded, которого я боюсь, хоть и смог
поставить и воспользоваться для других задач. Там наверное есть вся
информация на эту тему, главное суметь ее оттуда достать...

Главная вещь которой я не понимаю, заключается в том, что у меня в
Дебиане одни версии -dev библиотеки (например libgtk2.0-dev), а в
наладонном дистрибутиве может быть другая... И как одно с другим может,
и может ли, после такой сборки работать, мне не вполне понятно...

> > Если собирать Ридер прямо на PPC, то возникают проблемы от того, что
> > там нету утилиты install, ибо busybox... Я с этим явлением борюсь
> > путем написания специального перлового скрипта имитирующего
> > install, который прописывается в PATH, но это решение мягко говоря
> > не лучшее... В результате первый вопрос который возникает, а имеет
> > ли смысл реализовывать лучшее решение для этой проблемы, (с целью
> > добавить его в проект в последствии) или лучше с этим не возиться.
>
> Думаю, не стоит.

Ага...



> > По поводу того как попадают... Собирая что-то у себя на компьютере,
> > я привык, что после того как я что-то собиру, я делаю sudo make
> > intsall и все встает на свои места. Если я буду собирать FBReader
> > для КПК на PC, то make install сотворит ужасное... Правильно ли я
> > понимаю что для
> Вообще-то в конце сборки (поcле компиляции) для ЛЮБОЙ платформы
> делается
> DESTDIR=<нечто> make install, а потом из этого <нечто> строится пакет
> для этой платформы.

Угу... понял, это было для меня не самоочивидно. Спасибо.

> > сборки на PC нужно реализовать заворачивание всего собранного в
> > пакет (как минимум простой tgz) который потом уже будет
> > разварачиваться на КПК... Так как это сделано для каких-то из
> > архитектур...
> Да, именно так. Я не в курсе, какие пакеты принято делать для Angstom,
> tgz так
> tgz, хотя неужели там нет никакого package manager'а?

там у них более или менее штатные ipk...

> Надеюсь, теперь ответил по существу.

Да. Теперь я понял...

Nikolay Shaplov

unread,
Apr 11, 2008, 2:42:21 PM4/11/08
to fbrea...@googlegroups.com
On Fri, 11 Apr 2008 11:24:44 -0700 (PDT)
Nikolay Pultsin <geom...@mawhrin.net> wrote:

> > Немного предистории... У меня iPAQ h4125 под Angstrom Linux. Я
> > полувручную собрал на нем FBReader, успешно им пользуюсь, и теперь
> > хочу сделать более автоматизированный вариант, чтобы можно было бы
> > его добавить в проект. Чтобы сделать этот вариант, мне нужно понять
> > некоторые идеологические моменты, чтобы сделать по образу и
> > подобию...
>
> Если под "чтобы попал в проект" подразумевается включение в мейнстрим,
> то сборка определенно должна делаться кросскомпилятором на линуксовом
> десктопе.
> Еще нужно рассказать, где и как этот кросскомпилятор + все библиотеки
> к нему
> можно взять, чтобы я мог на своем компьютере (с Debian) его
> установить.

Кабы я знал...
Я потому-то и собирал это все прямо на КПК, потому что не вполне
понимаю как и чем это все собирать на десктопе...
То есть чем -- понятно... gcc он и в Африке gcc... Но вот что ему нужно
сказать... и как и какие библиотеки подсунуть... :-/
Сами разработчики, пакеты для этого дистра собирают при помощи
страшного монстра OpenEmbedded, которого я боюсь, хоть и смог
поставить и воспользоваться для других задач. Там наверное есть вся
информация на эту тему, главное суметь ее оттуда достать...

Главная вещь которой я не понимаю, заключается в том, что у меня в
Дебиане одни версии -dev библиотеки (например libgtk2.0-dev), а в
наладонном дистрибутиве может быть другая... И как одно с другим может,
и может ли, после такой сборки работать, мне не вполне понятно...

> > Если собирать Ридер прямо на PPC, то возникают проблемы от того, что


> > там нету утилиты install, ибо busybox... Я с этим явлением борюсь
> > путем написания специального перлового скрипта имитирующего
> > install, который прописывается в PATH, но это решение мягко говоря
> > не лучшее... В результате первый вопрос который возникает, а имеет
> > ли смысл реализовывать лучшее решение для этой проблемы, (с целью
> > добавить его в проект в последствии) или лучше с этим не возиться.
>
> Думаю, не стоит.

Ага...



> > По поводу того как попадают... Собирая что-то у себя на компьютере,
> > я привык, что после того как я что-то собиру, я делаю sudo make
> > intsall и все встает на свои места. Если я буду собирать FBReader
> > для КПК на PC, то make install сотворит ужасное... Правильно ли я
> > понимаю что для
> Вообще-то в конце сборки (поcле компиляции) для ЛЮБОЙ платформы
> делается
> DESTDIR=<нечто> make install, а потом из этого <нечто> строится пакет
> для этой платформы.

Угу... понял, это было для меня не самоочивидно. Спасибо.

> > сборки на PC нужно реализовать заворачивание всего собранного в


> > пакет (как минимум простой tgz) который потом уже будет
> > разварачиваться на КПК... Так как это сделано для каких-то из
> > архитектур...
> Да, именно так. Я не в курсе, какие пакеты принято делать для Angstom,
> tgz так
> tgz, хотя неужели там нет никакого package manager'а?

там у них более или менее штатные ipk...

> Надеюсь, теперь ответил по существу.
Да. Теперь я понял...

Mikhail Gusarov

unread,
Apr 11, 2008, 11:12:42 AM4/11/08
to fbrea...@googlegroups.com
Twas brillig at 15:27:09 11.04.2008 UTC+04 when Nikolay Shaplov did gyre and gimble:

NS> Немного предистории... У меня iPAQ h4125 под Angstrom Linux.

Это же OpenEmbedded, с замечательной кросс-сборкой. Берётся bitbake,
пишется .bb-файл, зовётся bitbake build fbreader, на выходе получается
.ipkg-шка для установки.

.bb сабмитится в OpenEmbedded.

Все патчи, которые нужны, строгаются и сабмитятся в сам fbreader.

--

Mikhail Gusarov

unread,
Apr 11, 2008, 2:26:05 PM4/11/08
to fbrea...@googlegroups.com
Twas brillig at 11:24:44 11.04.2008 UTC-07 when Nikolay Pultsin did gyre and gimble:

NP> Да, именно так. Я не в курсе, какие пакеты принято делать для
NP> Angstom, tgz так tgz, хотя неужели там нет никакого package
NP> manager'а?

ipkg там.

--

Nikolay Pultsin

unread,
Apr 12, 2008, 11:52:46 AM4/12/08
to fbreader-ru
> > Еще нужно рассказать, где и как этот кросскомпилятор + все библиотеки
> > к нему
> > можно взять, чтобы я мог на своем компьютере (с Debian) его
> > установить.
>
> Кабы я знал...
> Я потому-то и собирал это все прямо на КПК, потому что не вполне
> понимаю как и чем это все собирать на десктопе...
> То есть чем -- понятно... gcc он и в Африке gcc... Но вот что ему нужно
> сказать... и как и какие библиотеки подсунуть... :-/
> Сами разработчики, пакеты для этого дистра собирают при помощи
> страшного монстра OpenEmbedded, которого я боюсь, хоть и смог

Ага. Чудище обло, озорно, огромно, стозевно и лайяй. Я его не сумел до
конца осилить, так что для каких-то платформ использую построенный им
кросскомпилятор, но не более того. :(

> Главная вещь которой я не понимаю, заключается в том, что у меня в
> Дебиане одни версии -dev библиотеки (например libgtk2.0-dev), а в
> наладонном дистрибутиве может быть другая... И как одно с другим может,
> и может ли, после такой сборки работать, мне не вполне понятно...

Я что-то не совсем понял -- в каком смысле "в дебиане"? Они же в этом
самом OpenЧудище, нет?

> > Да, именно так. Я не в курсе, какие пакеты принято делать для Angstom,
> > tgz так
> > tgz, хотя неужели там нет никакого package manager'а?
>
> там у них более или менее штатные ipk...

Значит, надо делать ipk. Или *.bb, действительно, но тут уж я точно не
помощник.

-- НП
Reply all
Reply to author
Forward
0 new messages