<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.fruct.org:80/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://wiki.fruct.org:80/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
		<title>FRUCT Maemo wiki (Russian) - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.fruct.org:80/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:Contributions/Admin"/>
		<updated>2026-05-26T12:15:04Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.18.0</generator>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T12:03:19Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Голосование */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию пакета из репозитория Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на предмет оптификации ====&lt;br /&gt;
Оптификация – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает о неоптифицированных компонентах пакета независимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на форуме talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверить, чтобы пакет полностью деинсталлировался. Для этого деинсталлируйте его и проверьте, совпадают ли выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь к [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольному списку процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T12:02:32Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Тестирование на предмет оптификации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию пакета из репозитория Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на предмет оптификации ====&lt;br /&gt;
Оптификация – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает о неоптифицированных компонентах пакета независимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на форуме talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверить, чтобы пакет полностью деинсталлировался. Для этого деинсталлируйте его и проверьте, совпадают ли выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T11:10:05Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Тестирование на предмет оптификации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию пакета из репозитория Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на предмет оптификации ====&lt;br /&gt;
Оптификация – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает о неоптифицированных компонентах пакета независимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на форуме talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверить, чтобы пакет полностью деинсталлировался. Для этого деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T11:09:08Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Тестирование на предмет оптификации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию пакета из репозитория Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на предмет оптификации ====&lt;br /&gt;
Оптификация – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает о неоптифицированных компонентах пакета независимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на форуме talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверить, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T11:08:16Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Тестирование на предмет оптификации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию пакета из репозитория Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на предмет оптификации ====&lt;br /&gt;
Оптификация – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает о неоптифицированных компонентах пакета независимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на форуме talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T11:07:15Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Тестирование на предмет оптификации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию пакета из репозитория Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на предмет оптификации ====&lt;br /&gt;
Оптификация – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает о неоптифицированных компонентах пакета независимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T11:05:53Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Тестирование на предмет оптификации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию пакета из репозитория Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на предмет оптификации ====&lt;br /&gt;
Оптификация – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает о неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T11:00:42Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Тестирование на необходимость оптификации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию пакета из репозитория Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на предмет оптификации ====&lt;br /&gt;
Оптификация – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T11:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Тестирование на необходимость оптификации */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию пакета из репозитория Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
Оптификация – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Catalogue_details.png</id>
		<title>Файл:Catalogue details.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Catalogue_details.png"/>
				<updated>2010-05-10T10:55:43Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:52:12Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как найти приложение для тестирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию пакета из репозитория Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:51:18Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как найти приложение для тестирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии пакета из репозитория Extras самая  последняя его версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:50:39Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как найти приложение для тестирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии из репозитория Extras самая  последняя версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Add_repository.png</id>
		<title>Файл:Add repository.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Add_repository.png"/>
				<updated>2010-05-10T10:49:58Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:47:37Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как найти приложение для тестирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия пакета, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии репозитория Extras самая  последняя версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:46:49Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как найти приложение для тестирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия пакета (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии репозитория Extras самая  последняя версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:44:07Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как найти приложение для тестирования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 баллов: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии репозитория Extras самая  последняя версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:40:32Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как найти объекты для тестирования и начать работать */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу гипертекстовой среды [[Репозиторий Extras-testing]]. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing.&lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 балла: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии репозитория Extras самая  последняя версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:39:21Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Добавление репозитория Extras-testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу [[Репозиторий Extras-testing]] гипертекстовой среды. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing. &lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 балла: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии репозитория Extras самая  последняя версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Как добавить репозиторий Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:37:19Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Введение */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo существует множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу [[Репозиторий Extras-testing]] гипертекстовой среды. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing. &lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 балла: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии репозитория Extras самая  последняя версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Добавление репозитория Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:22:18Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* {{PAGENAME}} */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 На talk.maemo.org] также предлагается прекрасная сводка различных уровней стабильности репозитория.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo есть множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу [[Репозиторий Extras-testing]] гипертекстовой среды. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing. &lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 балла: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии репозитория Extras самая  последняя версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Добавление репозитория Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F</id>
		<title>Помощь в тестировании программного обеспечния</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%9F%D0%BE%D0%BC%D0%BE%D1%89%D1%8C_%D0%B2_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%BD%D0%B8%D1%8F"/>
				<updated>2010-05-10T10:19:21Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: Новая страница: «=={{PAGENAME}}==  {{Репозиторий Extras-testing}}  При желании узнать подробнее о рисках, связанных с тести…»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
{{Репозиторий Extras-testing}}&lt;br /&gt;
&lt;br /&gt;
При желании узнать подробнее о рисках, связанных с тестированием содержимого репозитория Extras, пожалуйста, обратитесь в ветку форума [http://talk.maemo.org/showthread.php?t=32676 Серьезная просьба: пользователи репозитория Extras должны видеть надлежащее предупреждение]. Здесь также предлагается прекрасная сводка различных уровней стабильности репозитория: [http://talk.maemo.org/showpost.php?p=431432&amp;amp;postcount=5 на talk.maemo.org]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Введение ===&lt;br /&gt;
При желании помочь сообществу Maemo есть множество способов, как это сделать. Один достаточно легкий способ – помощь в тестировании приложений. Данная статья представляет собой ориентированное на начинающих пользователей введение в репозиторий [[Extras-testing]] и процесс тестирования.&lt;br /&gt;
&lt;br /&gt;
'''Пожалуйста, обратитесь также в статью [http://wiki.maemo.org/Testing_Squad Группа тестировщиков] и обдумайте возможность присоединиться к данной группе!&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
=== Пошаговые инструкции ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти объекты для тестирования и начать работать ====&lt;br /&gt;
&lt;br /&gt;
В конце концов, по мере ознакомления с Maemo, пользователи захотят обратиться на страницу [[Репозиторий Extras-testing]] гипертекстовой среды. На данной странице представлены несколько специальных руководств для тех, кто, возможно, ошеломлен информацией на странице Extras-testing. &lt;br /&gt;
&lt;br /&gt;
==== Как найти приложение для тестирования ====&lt;br /&gt;
Приложения, которые необходимо тестировать, перечислены [http://maemo.org/packages/repository/qa/fremantle_extras-testing/ на maemo.org packacges] в порядке добавления (самые старые приложения находятся в начале списка). При выборе приложения для тестирования обратите внимание, что приложения, у которых уже есть оценка в 10 или более баллов, являются &amp;quot;протестированными&amp;quot;. Не тратьте на них свое время. То же самое относится к пакетам, у которых меньше -5 балла: такое приложение, очевидно, требуется исправить и выпустить повторно.&lt;br /&gt;
&lt;br /&gt;
Выберите приложение для тестирования. У пользователя может быть личная заинтересованность в том, чтобы одно из приложений было перемещено в [[Репозиторий Extras]]. Возможно пользователь просто захочет помочь и начнет с начала списка (с самых старых приложений). Кликните на ссылку, чтобы открыть страницу с версией пакета. Убедитесь, что тестируется правильная версия приложения: в репозитории Extras может уже находится предыдущая версия (которая, должно быть, уже инсталлирована). На самом деле в репозитории Extras-devel может находиться даже третья версия, но ее не будет видно до активации репозитория. &lt;br /&gt;
&lt;br /&gt;
После инсталляции версии репозитория Extras самая  последняя версия должна быть представлена в виде доступного апргрейда, если репозиторий Extras-testing активирован. Прежде всего следует деинсталлировать версию Extras (а не обновлять программное обеспечение напрямую), это даст возможность надлежащим образом проверить, необходима ли оптификация. До инсталляции пакета после тестирования потребуется добавить данный [[Репозиторий]].&lt;br /&gt;
&lt;br /&gt;
==== Добавление репозитория Extras-testing ====&lt;br /&gt;
На устройстве [[Nokia N900|N900]] зайдите в Менеджер приложений, верхнее меню, Репозитории&lt;br /&gt;
&lt;br /&gt;
[[Image:add_repository.png]]&lt;br /&gt;
&lt;br /&gt;
и добавьте следующий репозиторий:&lt;br /&gt;
&lt;br /&gt;
[[Image:Catalogue_details.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| &lt;br /&gt;
| Название: Maemo Extras Testing&lt;br /&gt;
|-&lt;br /&gt;
| URL-адрес: http://repository.maemo.org/extras-testing/&lt;br /&gt;
|-&lt;br /&gt;
| Дистрибутив: Fremantle&lt;br /&gt;
|-&lt;br /&gt;
| Разделы: свободные&lt;br /&gt;
|-&lt;br /&gt;
| Активировано: Да&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Выполните Обновить.&lt;br /&gt;
&lt;br /&gt;
*Кликните на Загрузить и найдите выбранное для тестирования приложение. Проверьте, чтобы версия приложения, выбранного для тестирования, совпадала с версией тестируемого приложения (помните страницу с версией пакета, открытую в браузере?).&lt;br /&gt;
&lt;br /&gt;
'''Примечание: Необходимо голосовать за каждую новую версию пакета отдельно.'''&lt;br /&gt;
&lt;br /&gt;
=== Процесс тестирования ===&lt;br /&gt;
В [[Extras-testing/QA_Checklist|Контрольном перечне процесса обеспечения качества]] описаны различные пункты тестирования. Здесь будут предоставлены объяснения каждого пункта, который сам по себе не понятен. &lt;br /&gt;
Цитата из статьи для справки:&lt;br /&gt;
 1. [ ] Существует база данных для ошибок.&lt;br /&gt;
 2. [ ] Лицензирование в порядке.&lt;br /&gt;
 3. [ ] Нет запрещенного/сомнительного контента.&lt;br /&gt;
 4. [ ] Все заявленные функции работают.&lt;br /&gt;
 5. [ ] Представлены все заявленные функции.&lt;br /&gt;
 6. [ ] Оптификация в порядке.&lt;br /&gt;
 7. [ ] Нет проблем с производительностью.&lt;br /&gt;
 8. [ ] Нет проблем с управлением электропитанием.&lt;br /&gt;
 9. [ ] Нет угрозы безопасности.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Тестирование на необходимость оптификации ====&lt;br /&gt;
&amp;quot;Оптификация&amp;quot; – перемещение всего, что имеет существенный размер, из корневого раздела в раздел /opt (2 Гб) для того, чтобы rootfs очень маленького объема (256 Мб) не был полностью заполнен (что может испортить весь день). Чтобы увидеть загрузку диска, используйте команду получения информации о свободном месте на диске (df).&lt;br /&gt;
&lt;br /&gt;
На стандартном N900 данные на выходе после использования команды получения информации о свободном месте на диске могут быть следующими:&lt;br /&gt;
* использование rootfs на 76%&lt;br /&gt;
* использование mmcblk0p2 на 6%&lt;br /&gt;
&lt;br /&gt;
Помните, суть заключается в том, чтобы предотвратить полное заполнение rootfs. &lt;br /&gt;
Выполните &lt;br /&gt;
 df -h | grep -e rootfs -e mmcblk0p2&lt;br /&gt;
&lt;br /&gt;
в командной строке до и после инсталляции и проверьте, как изменилось использование каждого раздела. Если, к примеру, более 300 Кб (0.3 Мб) добавляются к использованию rootfs, это слишком много, и пакет необходимо оптифицировать (поэтому проголосуйте против него и добавьте соответствующее примечание). Кстати говоря, указанная ранее команда просто отфильтровывает ненужные строки. При желании можно ввести только &lt;br /&gt;
 df -h&lt;br /&gt;
Благодаря '-h' данные представлены в понятном для пользователя виде (Мб) вместо байтов/блоков/Кб.&lt;br /&gt;
&lt;br /&gt;
Также можно запустить сценарий на языке Perl, который сообщает от неоптифицированных компонентах пакета не зависимо от времени его инсталляции. Сценарий предлагается в [http://talk.maemo.org/showpost.php?p=433336&amp;amp;postcount=20 данном сообщении] на сайте talk.maemo.org.&lt;br /&gt;
&lt;br /&gt;
Один из оставшихся тестов – проверка, чтобы пакет полностью деинсталлировался. Чтобы это проверить (частично), деинсталлируйте его и проверьте, совпадают выходные данные команды df с тем, что было до инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Голосование ====&lt;br /&gt;
&lt;br /&gt;
Обратитесь в [http://wiki.maemo.org/Extras-testing/QA_Checklist Контрольный перечень процесса обеспечения качества], чтобы увидеть остальные критерии для успешного прохождения теста. После оценки данного приложения не забудьте сообщить о результатах проверки, проголосовав на странице с версией пакета, которая открыта в браузере. Возможно сначала потребуется получить учетную запись garage. Также оставьте примечание, если необходимо сообщить не только об успешно проведенном тестировании. На обработку примечаний требуется некоторое время, поэтому считайте, что оно добавлено, или может получиться так, что примечание будет продублировано. &lt;br /&gt;
&lt;br /&gt;
Источники:&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=349477&amp;amp;postcount=63&lt;br /&gt;
* http://danielwilms.wordpress.com/2009/11/27/extras-testing-step-by-step/&lt;br /&gt;
* http://talk.maemo.org/showpost.php?p=431878&amp;amp;postcount=24&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Продвинутые]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-10T10:13:00Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[http://wiki.maemo.org/Qt4_Hildon В гипертекстовой среде есть страница, посвященная Qt], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views HildonStackableWindows]?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия пакета уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию пакета дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время сборки требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [http://wiki.maemo.org/Packaging#Maemo-specific_information некоторые отличия со стороны Maemo].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Packaging Простое руководство для начала работы].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку приложений в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Совершенно верно, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-10T10:12:08Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как получить права на загрузку в репозиторий Extras? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[http://wiki.maemo.org/Qt4_Hildon В гипертекстовой среде есть страница, посвященная Qt], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views HildonStackableWindows]?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия пакета уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию пакета дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время сборки требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [http://wiki.maemo.org/Packaging#Maemo-specific_information некоторые отличия со стороны Maemo].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Packaging Простое руководство для начала работы].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку приложений в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-10T10:11:19Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как пакетировать программное обеспечение для Maemo? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[http://wiki.maemo.org/Qt4_Hildon В гипертекстовой среде есть страница, посвященная Qt], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views HildonStackableWindows]?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия пакета уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию пакета дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время сборки требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [http://wiki.maemo.org/Packaging#Maemo-specific_information некоторые отличия со стороны Maemo].&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Packaging Простое руководство для начала работы].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-10T10:09:51Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как пакетировать программное обеспечение для Maemo? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[http://wiki.maemo.org/Qt4_Hildon В гипертекстовой среде есть страница, посвященная Qt], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views HildonStackableWindows]?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия пакета уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию пакета дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время сборки требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [http://wiki.maemo.org/Packaging#Maemo-specific_information некоторые отличия со стороны Maemo].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-10T10:08:09Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как пакетировать программное обеспечение для Maemo? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[http://wiki.maemo.org/Qt4_Hildon В гипертекстовой среде есть страница, посвященная Qt], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views HildonStackableWindows]?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия пакета уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию пакета дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время сборки требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Packaging%2C_Deploying_and_Distributing Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-10T10:05:30Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[http://wiki.maemo.org/Qt4_Hildon В гипертекстовой среде есть страница, посвященная Qt], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views HildonStackableWindows]?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия пакета уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию пакета дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время сборки требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-10T10:03:38Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[http://wiki.maemo.org/Qt4_Hildon В гипертекстовой среде есть страница, посвященная Qt], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views HildonStackableWindows]?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия пакета уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию пакета дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T11:11:51Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как создать  &amp;quot;HildonStackableWindows&amp;quot;? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[http://wiki.maemo.org/Qt4_Hildon В гипертекстовой среде есть страница, посвященная Qt], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  [http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views HildonStackableWindows]?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T11:11:28Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как создать  &amp;quot; HildonStackableWindows&amp;quot;? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[http://wiki.maemo.org/Qt4_Hildon В гипертекстовой среде есть страница, посвященная Qt], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views HildonStackableWindows]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T11:10:07Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как найти ссылку на Maemo Qt API? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[http://wiki.maemo.org/Qt4_Hildon В гипертекстовой среде есть страница, посвященная Qt], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T11:06:11Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Текст и иконки в диалогах */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах в Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T11:04:29Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Иконки какого размера нужно использовать? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
В Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T11:03:00Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Ограничение аплетов Home Area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T11:02:39Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Ограничение аплетов Home Area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в [Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T11:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Ограничение аплетов Home Area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптируйте пользовательский интерфейс аплета, принимая их во внимание. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T11:00:29Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Ограничение аплетов Home Area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения инфраструктуры.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T10:54:37Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Ограничение аплетов Home Area */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, в Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T10:52:27Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* maemo-select-menu-location: команда не найдена */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида Утилиты, Дополнительное, Настройки и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T10:50:26Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Портирование во Fremantle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование в Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo в Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи.&lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T10:48:51Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Ошибка QEMU при выполнении cmake в архитектуре ARMEL во Fremantle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL в Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование во Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo во Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи. &lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-08T10:47:35Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как инсталлировать SDK+ на платформу Linux AMD64? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[http://wiki.maemo.org/Maemo_SDK%2B_installation_on_Debian_%28AMD64%29 Данное руководство] охватывает все шаги вплоть до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL во Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование во Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo во Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи. &lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-07T21:29:47Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите сценарий снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[[Maemo_SDK%2B_installation_on_Debian_(AMD64)|Данное руководство]] охватывает все шаги до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL во Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование во Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo во Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи. &lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-07T21:27:30Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может заключаться в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите его снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[[Maemo_SDK%2B_installation_on_Debian_(AMD64)|Данное руководство]] охватывает все шаги до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL во Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование во Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo во Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи. &lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-07T21:18:25Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях проблема, скорее всего, заключается в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите его снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[[Maemo_SDK%2B_installation_on_Debian_(AMD64)|Данное руководство]] охватывает все шаги до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL во Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование во Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo во Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи. &lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-07T21:11:20Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработки программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработки программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработки программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях скорее всего проблема в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите его снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[[Maemo_SDK%2B_installation_on_Debian_(AMD64)|Данное руководство]] охватывает все шаги до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL во Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование во Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo во Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи. &lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-07T21:09:03Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Почему можно получить доступ к IP-адресу, а не домену в Scratchbox? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработчика программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработчика программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не к домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработчика программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях скорее всего проблема в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите его снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[[Maemo_SDK%2B_installation_on_Debian_(AMD64)|Данное руководство]] охватывает все шаги до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL во Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование во Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo во Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи. &lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-07T21:08:20Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработчика программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработчика программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банула в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработчика программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях скорее всего проблема в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите его снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[[Maemo_SDK%2B_installation_on_Debian_(AMD64)|Данное руководство]] охватывает все шаги до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL во Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование во Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo во Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи. &lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-07T21:07:49Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработчика программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработчика программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банул в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработчика программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях скорее всего проблема в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите его снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[[Maemo_SDK%2B_installation_on_Debian_(AMD64)|Данное руководство]] охватывает все шаги до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL во Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование во Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo во Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи. &lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B</id>
		<title>Часто задаваемые разработчиками вопросы</title>
		<link rel="alternate" type="text/html" href="https://wiki.fruct.org:80/index.php?title=%D0%A7%D0%B0%D1%81%D1%82%D0%BE_%D0%B7%D0%B0%D0%B4%D0%B0%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%B0%D0%BC%D0%B8_%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B"/>
				<updated>2010-05-07T20:51:27Z</updated>
		
		<summary type="html">&lt;p&gt;Admin: /* Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{PAGENAME}}==&lt;br /&gt;
&lt;br /&gt;
Данная статья представляет собой список часто задаваемых вопросов, которые имеют отношение к разработке приложений для платформы Maemo или работе над самой платформой. Текст статьи будет постоянно изменяться. Приветствуются новые вопросы и ответы. &lt;br /&gt;
&lt;br /&gt;
Чтобы получить ответы на вопросы пользователей, обратитесь, пожалуйста, в статью [[Часто задаваемые вопросы|Часто задаваемые пользователями вопросы]].&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Что делать, если конкретный вопрос не встречается в данной статье? ===&lt;br /&gt;
&lt;br /&gt;
1. Проверьте, обсуждался ли он уже в одном из списков почтовой рассылки или на форуме [http://talk.maemo.org talk.maemo.org].&lt;br /&gt;
&lt;br /&gt;
2. Если нет, опубликуйте свой вопрос в списке почтовой рассылки для разработчиков или на форуме talk.&lt;br /&gt;
&lt;br /&gt;
3. Если ответ найден и он также может представлять интерес для других пользователей, опубликуйте его здесь. В таком случае, если в будущем данный вопрос возникнет снова, можно будет просто дать ссылку на данную страницу.&lt;br /&gt;
&lt;br /&gt;
=== Комплект программ для разработчика программного обеспечения Maemo и Scratchbox ===&lt;br /&gt;
&lt;br /&gt;
==== Команда &amp;quot;dbus-monitor&amp;quot; не работает в Scratchbox. Что можно сделать? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Типичные сообщения об ошибке в таком случае выглядят следующим образом:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor --system&lt;br /&gt;
 Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory&lt;br /&gt;
&lt;br /&gt;
или для шины сессии:&lt;br /&gt;
 &lt;br /&gt;
 X86: ~] &amp;gt; dbus-monitor          &lt;br /&gt;
 Failed to open connection to session message bus: (null)&lt;br /&gt;
&lt;br /&gt;
или при запуске приложений, написанных на Python:&lt;br /&gt;
 arguments to dbus_connection_get_data() were incorrect, assertion &amp;quot;connection != NULL&amp;quot; failed in file dbus-connection.c&lt;br /&gt;
 GLIB ERROR ** default - Not enough memory to set up DBusConnection for use with GLib&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
*Проверено в Fremantle Beta, Beta_2&lt;br /&gt;
Введите следующие строки в Scratchbox:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; eval $(dbus-launch --sh-syntax)&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_ADDRESS&lt;br /&gt;
 X86: ~] &amp;gt; export DBUS_SESSION_BUS_PID&lt;br /&gt;
&lt;br /&gt;
После этого выполните команду dbus-monitor. Все должно заработать.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;xephyr&amp;quot; не запускается на хосте. Сообщается об ошибке безопасности dbus ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
[config/dbus] couldn't take over org.x.config: org.freedesktop.DBus.Error.AccessDenied (Connection &amp;quot;:1.310&amp;quot; is not allowed to own the service &amp;quot;org.x.config.display2&amp;quot; due to security policies in the configuration file)&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Дисплей, который планируется использовать для Xephyr (обычно :2), просто необходимо добавить в файл безопасности dbus.&lt;br /&gt;
&lt;br /&gt;
Необходимо отредактировать файл:&lt;br /&gt;
  /etc/dbus-1/system.d/xorg-server.conf&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие три строки в группу &amp;quot;&amp;lt;policy context=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;allow own=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_destination=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;allow send_interface=&amp;quot;org.x.config.display2&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В сущности, такая группа должна быть для каждого дисплея, который планируется использовать, дисплей 0 по умолчанию и дисплей 1 в файле. Если планируется использовать для Xephyr дисплей с номером, отличным от :2, убедитесь, что именно данный номер используется при добавлении данных строк, а не &amp;quot;display2&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Как избежать сообщений об &amp;quot;qemu&amp;quot; ошибке &amp;quot;af-sb-init start&amp;quot; в архитектуре ARMEL? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
Обычно попытка заканчивается примерно следующим образом:&lt;br /&gt;
&lt;br /&gt;
 The error was 'BadWindow (invalid Window parameter)'.&lt;br /&gt;
 (Details: serial 207 error_code 3 request_code 2 minor_code 0)&lt;br /&gt;
 (Note to programmers: normally, X errors are reported asynchronously;&lt;br /&gt;
 that is, you will receive the error a while after causing it.&lt;br /&gt;
 To debug your program, run it with the --sync command line&lt;br /&gt;
 option to change this behavior. You can then get a meaningful&lt;br /&gt;
 backtrace from your debugger if you break on the gdk_x_error() function.)&lt;br /&gt;
 aborting...&lt;br /&gt;
 qemu: uncaught target signal 6 (Aborted) - core dumped&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* все комплекты программ для разработчика программного обеспечения&lt;br /&gt;
&lt;br /&gt;
Не следует использовать архитектуру ARMEL для тестирования приложений и даже для кросс-компилирования. Не предполагается, чтобы она это поддерживала. Пожалуйста, используйте архитектуру X86 для любых действий кроме кросс-компиляции.&lt;br /&gt;
&lt;br /&gt;
==== Почему появляется сообщение &amp;quot;command not found&amp;quot;, даже если выполняются инструкции в документации? ====&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
&lt;br /&gt;
В качестве примера:&lt;br /&gt;
&lt;br /&gt;
 X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 bash: af-sb-init.sh: command not found&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
После выполнения инсталляционного сценария необходимо инсталлировать некоторые пакеты с закрытым исходным кодом, чтобы полностью инсталлировать комплект программ для разработки программного обеспечения. Скорее всего, они не инсталлированы. Инструкции предлагаются  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#32bitinstall здесь] – последний пункт инструкций по инсталляции.&lt;br /&gt;
&lt;br /&gt;
==== Как to разрешить проблему &amp;quot;Scratchbox devkit debian-etch not found&amp;quot;? ====&lt;br /&gt;
Иногда во время запуска инсталляционного сценария комплекта программ для разработки программного обеспечения происходит данная ошибка и появляется сообщение примерно следующего содержания:&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
 &lt;br /&gt;
 E: Scratchbox devkit debian-etch not found.&lt;br /&gt;
 E: Please complete scratchbox installation first.&lt;br /&gt;
 E: Specify an alternative installation path using '-s PATH' option.&lt;br /&gt;
 &lt;br /&gt;
'''Решение'''&lt;br /&gt;
Данную проблему можно решить (не забудьте поблагодарить Фрэнка Банул в списке разработчиков) так:&lt;br /&gt;
&lt;br /&gt;
 1) добавьте &amp;quot;deb http://scratchbox.org/debian/ maemo5-sdk main&amp;quot; в /etc/apt/sources.list &lt;br /&gt;
 &lt;br /&gt;
 2) выполните:&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-debian&lt;br /&gt;
 sudo apt-get remove scratchbox-devkit-perl&lt;br /&gt;
 sudo apt-get install scratchbox-devkit-perl&lt;br /&gt;
&lt;br /&gt;
==== Почему можно получить доступ к IP-адресу, а не домену в Scratchbox? ====&lt;br /&gt;
В некоторых случаях так происходит по одной из следующих причин:&lt;br /&gt;
# Конфигурация сети изменилась в хост-системе после инсталляции Scratchbox&lt;br /&gt;
# Проблемы с конфигурацией Scratchbox: &lt;br /&gt;
#* Инсталляция комплекта программ для разработчика программного обеспечения вручную не была завершена&lt;br /&gt;
#* Адресат был сброшен&lt;br /&gt;
&lt;br /&gt;
'''Сообщения об ошибке'''&lt;br /&gt;
Все зависит от программы, которая используется. Здесь предлагается небольшой тестовый клиент на языке Python:&lt;br /&gt;
&lt;br /&gt;
 import urllib2&lt;br /&gt;
 print urllib2.urlopen(&amp;quot;http://google.com&amp;quot;).read()&lt;br /&gt;
&lt;br /&gt;
После этого будет получено следующее сообщение об ошибке:&lt;br /&gt;
&lt;br /&gt;
 urllib2.URLError: &amp;lt;urlopen error (-3, 'Temporary failure in name resolution')&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
* Fremantle X86(!), Diablo X86(!)&lt;br /&gt;
В многих случаях скорее всего проблема в том, что файл resolv.conf в Scratchbox не настроен правильно. Следующие решения данной проблемы могут изменить ситуацию:&lt;br /&gt;
&lt;br /&gt;
# Изменение конфигурации сети: Скопируйте resolv.conf из хост-системы в папку scratchbox/etc:&lt;br /&gt;
&lt;br /&gt;
 sudo cp /etc/resolv.conf /scratchbox/etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Если проблема не разрешилась, попробуйте 2.:&lt;br /&gt;
&lt;br /&gt;
# Конфигурация Scratchbox: Это может быть причиной, если адресат был сброшен или инсталляция производилась вручную без использования сценария. В таком случае выполните:&lt;br /&gt;
&lt;br /&gt;
 SBOX&amp;gt; sb-conf in -edFL&lt;br /&gt;
&lt;br /&gt;
Данная команда устанавливает /scratchbox/etc/resolv.conf по умолчанию и игнорирует файл в Scratchbox. Информация по данной команде представлена  [http://maemo.org/development/sdks/maemo_5_beta_2_sdk_installation/#manualinstall здесь].&lt;br /&gt;
&lt;br /&gt;
Указанные действия должны решить проблему. Если этого не произойдет, можно попробовать вручную заменить записи resolv.conf '''внутри''' Scratchbox на те же самые записи resolv.conf системы '''хоста'''.&lt;br /&gt;
&lt;br /&gt;
==== Сценарий &amp;quot;af-sb-init.sh start&amp;quot; аварийно завершается ====&lt;br /&gt;
Иногда случается так, что сценарий аварийно завершается сразу же после запуска. Проблема может в том, что старые процессы по-прежнему активные, и это приводит к ошибке. Показателем того, что все дело именно в этом, являются следующие строки после запуска:&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
&lt;br /&gt;
 _X86: ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
 ...&lt;br /&gt;
 DBUS system bus is already running, doing nothing&lt;br /&gt;
 D-BUS session bus daemon is already running, doing nothing&lt;br /&gt;
 Starting Maemo Launcher: maemo-launcher start failed.&lt;br /&gt;
 Sapwood image server is already running, doing nothing&lt;br /&gt;
 ...&lt;br /&gt;
 aborting...&lt;br /&gt;
&lt;br /&gt;
Данная ошибка показывает, что по-прежнему запущены старые процессы, что может вызывать проблемы при повторном запуске инфраструктуры. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Чтобы решить данную проблему, остановите инфраструктуру, прервите все старые процессы и запустите его снова. Для этого:&lt;br /&gt;
&lt;br /&gt;
* остановить инфраструктуру:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh stop&lt;br /&gt;
&lt;br /&gt;
* прервать старые процессы:&lt;br /&gt;
 ~] &amp;gt; sb-conf killall&lt;br /&gt;
&lt;br /&gt;
* перезапустить:&lt;br /&gt;
 ~] &amp;gt; af-sb-init.sh start&lt;br /&gt;
&lt;br /&gt;
==== Как инсталлировать SDK+ на платформу Linux AMD64? ====&lt;br /&gt;
Пакет Maemo SDK+ включает в себя Scratchbox 2 и Qt, но он будет инсталлироваться только на 32-битные платформы. При работе с Debian с 64-битным ядром пакет Maemo SDK+ можно инсталлировать в 32-битную среду с измененным корневым каталогом, которая установлена над 64-битной платформой. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
[[Maemo_SDK%2B_installation_on_Debian_(AMD64)|Данное руководство]] охватывает все шаги до компиляции и тестирования.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка QEMU при выполнении cmake в архитектуре ARMEL во Fremantle ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
 qemu: uncaught target signal 11 (Segmentation fault) - core dumped&lt;br /&gt;
 make: *** [cmake_check_build_system] Error 126&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Проверьте версию cmake. Если использовать версию 2.6.3-2maemo4+0m5, это должно решить проблему.&lt;br /&gt;
&lt;br /&gt;
==== Ошибка git при попытке клонировать/извлечь из репозиториев протокола https ====&lt;br /&gt;
&lt;br /&gt;
'''Показатель'''&lt;br /&gt;
  error: error setting certificate verify locations:&lt;br /&gt;
    CAfile: /usr/share/curl/curl-ca-bundle.crt&lt;br /&gt;
    CApath: none&lt;br /&gt;
  &lt;br /&gt;
  warning: remote HEAD refers to nonexistent ref, unable to checkout.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Поместите пакет CA туда, где curl сможет его найти:&lt;br /&gt;
  ~] &amp;gt; mkdir /usr/share/curl&lt;br /&gt;
  ~] &amp;gt; ln -s /scratchbox/devkits/git/share/curl/curl-ca-bundle.crt /usr/share/curl/&lt;br /&gt;
&lt;br /&gt;
Обратитесь также к [https://bugs.maemo.org/show_bug.cgi?id=4953 описанию ошибки 4953].&lt;br /&gt;
&lt;br /&gt;
=== Портирование во Fremantle ===&lt;br /&gt;
&lt;br /&gt;
В данном разделе будут собраны типичные ошибки, которые возникают во время попытки портировать приложения Diablo во Fremantle. Без колебаний вносите изменения в материалы на данной странице и/или дополнения.&lt;br /&gt;
&lt;br /&gt;
==== maemo-select-menu-location: команда не найдена ====&lt;br /&gt;
 &lt;br /&gt;
'''Стандартное сообщение об ошибке'''&lt;br /&gt;
 scratchbox/tools/bin/sh: line 1: /usr/sbin/dpkg-preconfigure: No such file or directory&lt;br /&gt;
 Setting up leafpad (0.8.16le-0maemo2) ...&lt;br /&gt;
 gtk-update-icon-cache: Cache file created successfully.&lt;br /&gt;
 /var/lib/dpkg/info/leafpad.postinst: line 7: maemo-select-menu-location: command not found&lt;br /&gt;
 dpkg: error processing leafpad (--configure): subprocess post-installation script returned error exit  status 127&lt;br /&gt;
&lt;br /&gt;
'''Причина''' &lt;br /&gt;
&lt;br /&gt;
Команда maemo-select-menu-location устарела.&lt;br /&gt;
В операционной системе Fremantle нет подменю вида &amp;quot;Утилиты&amp;quot;, &amp;quot;Дополнительное&amp;quot;, &amp;quot;Настройки&amp;quot; и так далее. Все инсталлированное программное обеспечение сторонних производителей по умолчанию будет представлено в Приложениях.   &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
Удалите экземпляр из послеинсталляционного сценария. В нем нет необходимости.&lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость maemo-installer-utils ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Пакет hildon-application-manager больше не &amp;quot;предусматривает&amp;quot; ''maemo-installer-utils''. Команды ''maemo-confirm-text'', ''maemo-application-running'', ''maemo-list-user-packages'' доступны по-прежнему. &lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените зависимость на hildon-application-manager. &lt;br /&gt;
&lt;br /&gt;
==== Отсутствует зависимость libhildonhelp0 ====&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
libhildonhelp потеряна.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Удалите зависимость и вызовы API помощи.&lt;br /&gt;
&lt;br /&gt;
==== Ограничение аплетов Home Area ====&lt;br /&gt;
В отличие от Diablo, во Fremantle данные аплеты не поддерживают ввод текста, панорамирование областей, изменение размеров и прокрутку.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
Ограничения Framework.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Замените поля для ввода текста на диалоги. Для прокрутки используйте кнопки. Добавьте опции изменения размера в диалог Настройки или адаптировать пользовательский интерфейс аплета с их учетом. Более подробная информация по разработке данных аплетов предлагается в данной  [[Documentation/Maemo_5_Developer_Guide/Application_Development/Writing_Desktop_Widgets|документации].&lt;br /&gt;
&lt;br /&gt;
==== Иконки какого размера нужно использовать? ====&lt;br /&gt;
Во Fremantle спецификации размера иконок отличаются от Diablo:&lt;br /&gt;
&lt;br /&gt;
'''Менеджер приложений'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_FINGER.&lt;br /&gt;
* В Gimp или Photoshop: 48x48 пикселей&lt;br /&gt;
&lt;br /&gt;
'''Средство запуска задач'''&lt;br /&gt;
* Размер иконок: HILDON_ICON_SIZE_THUMB.&lt;br /&gt;
* В Gimp или Photoshop: 64x64 пикселей&lt;br /&gt;
&lt;br /&gt;
При использовании иконок в Средстве запуска задач, пожалуйста, не забудьте выполнить следующую команду в файле ostinst:&lt;br /&gt;
&lt;br /&gt;
 gtk-update-icon-cache -f /usr/share/icons/hicolor&lt;br /&gt;
&lt;br /&gt;
==== Текст и иконки в диалогах ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Текст в диалоговых окнах отформатирован неправильно (усечен справа), когда иконка находится на месте.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
В целом не следует использовать иконки в диалогах во Fremantle. Удалите иконку и текст будет правильно отформатирован.&lt;br /&gt;
&lt;br /&gt;
==== Сценарии инициализации ====&lt;br /&gt;
&lt;br /&gt;
'''Проблема'''&lt;br /&gt;
&lt;br /&gt;
Сценарии инициализации больше не работают.&lt;br /&gt;
&lt;br /&gt;
'''Причина'''&lt;br /&gt;
&lt;br /&gt;
В операционной системе Fremantle переключились на использование '''upstart''' для инициализации системы.&lt;br /&gt;
&lt;br /&gt;
'''Решение'''&lt;br /&gt;
&lt;br /&gt;
Создайте '''upstart''' определения задачи вместо сценариев инициализации. Информацию по их написанию можно найти на http://upstart.ubuntu.com/getting-started.html. Тем не мене, помните, для Maemo 5 используется каталог ''/etc/event.d''.&lt;br /&gt;
&lt;br /&gt;
Сценарий задачи необходимо поместить в /etc/event.d/''package''.  Для postinst, prerm и postrm пакета следует использовать команды ''start --quiet'' и ''stop --quiet'', чтобы запускать и останавливать сервис. К сожалению, не предусмотрен инструмент debhelper в качестве помощи. &lt;br /&gt;
&lt;br /&gt;
=== Qt ===&lt;br /&gt;
&lt;br /&gt;
==== Как найти ссылку на Maemo Qt API? ====&lt;br /&gt;
[[Qt4 Hildon|В гипертекстовой среде есть страница, посвященная Qt]], где предлагается полезная информация. Также обратите внимание на [http://qt.nokia.com/doc/qt-maemo-4.6/index.html официальную документацию Qt для Maemo].&lt;br /&gt;
&lt;br /&gt;
==== Как создать  &amp;quot;[[Documentation/Maemo_5_Developer_Guide/Human_Interface_Guidelines/Windows#Window_Views | HildonStackableWindows]]&amp;quot;?====&lt;br /&gt;
&lt;br /&gt;
Для этого нужно создать [http://doc.trolltech.com/4.5/qmainwindow.html QMainWindow] и еще одно QMainWindow в качестве порождающей записи в конструкторе.&lt;br /&gt;
&lt;br /&gt;
'''Пример'''&lt;br /&gt;
 &lt;br /&gt;
 // created by [http://talk.maemo.org/member.php?u=25407 hopbeat]&lt;br /&gt;
 &lt;br /&gt;
 QApplication app(argc, argv);&lt;br /&gt;
 QMainWindow* window=new QMainWindow();&lt;br /&gt;
 window-&amp;gt;setCentralWidget(someWidget);&lt;br /&gt;
            &lt;br /&gt;
 window-&amp;gt;show();&lt;br /&gt;
 &lt;br /&gt;
 QMainWindow* window2=new QMainWindow(window);&lt;br /&gt;
 window2-&amp;gt;show();&lt;br /&gt;
&lt;br /&gt;
=== Автоматическая программа-компоновщик ===&lt;br /&gt;
&lt;br /&gt;
==== Локализация не работает ====&lt;br /&gt;
&lt;br /&gt;
Возможно, используется следующая строка в configure.ac:&lt;br /&gt;
&lt;br /&gt;
 localedir=`$PKG_CONFIG osso-af-settings --variable=localedir`&lt;br /&gt;
&lt;br /&gt;
Это означает, что необходимо добавить osso-af-settings в Build-Depends.&lt;br /&gt;
&lt;br /&gt;
==== Пакет отклоняется: ОТКЛОНЕНО: точно такая же версия или более новая версия уже находится в репозитории Extras-devel ====&lt;br /&gt;
&lt;br /&gt;
В репозиторий нельзя загрузить одну и ту же версию дважды. Если что-то изменено в пакете, необходимо увеличить номер его версии или редакции пакета.&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно: указанный файл или каталог отсутствуют в регистрационном журнале ====&lt;br /&gt;
&lt;br /&gt;
Возможно, поле Build-Depends в debian/control не задано правильно. Автоматическая программа-компоновщик начинает каждую полную сборку программы с чистого образа SDK. Если во время building требуется какое-то приложение, которое не предлагается в образе SDK по умолчанию, необходимо специально его задать.&lt;br /&gt;
&lt;br /&gt;
Чтобы убедиться, что поле Build-Depends в debian/control заполнено, выполните&lt;br /&gt;
&lt;br /&gt;
 dpkg-depcheck -m dpkg-buildpackage -rfakeroot -b&lt;br /&gt;
&lt;br /&gt;
в дереве исходных кодов. (Чтобы все заработало, потребуется команда &amp;lt;code&amp;gt;fakeroot apt-get install devscripts&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
==== Полная сборка программы завершилась неудачно, все работает только в отдельном Scratchbox ====&lt;br /&gt;
&lt;br /&gt;
Ответ предлагается выше.&lt;br /&gt;
&lt;br /&gt;
=== Репозиторий  Extras ===&lt;br /&gt;
&lt;br /&gt;
==== Как пакетировать программное обеспечение для Maemo? ====&lt;br /&gt;
&lt;br /&gt;
{{главная статья|Документация/Руководство для разработчиков Maemo 5/Пакетирование, развертывание и распределение}}&lt;br /&gt;
&lt;br /&gt;
Так как в основе Maemo лежит операционная система Debian, при создании пакетов для Maemo заимствуются многие инструменты и методики Debian. Тем не менее, есть [[Packaging#Maemo-specific_information|некоторые отличия со стороны Maemo]].&lt;br /&gt;
&lt;br /&gt;
Предлагается [[Packaging | простое руководство для начала работы]].&lt;br /&gt;
&lt;br /&gt;
==== Как получить права на загрузку в репозиторий Extras? ====&lt;br /&gt;
&lt;br /&gt;
[https://garage.maemo.org/extras-assistant/index.php?target=invitation_request Приглашение можно получить] через Помощника в репозитории Extras.&lt;br /&gt;
&lt;br /&gt;
==== Как активировать репозитории Extras, Extras-testing и Extras-devel в Scratchbox? ====&lt;br /&gt;
&lt;br /&gt;
Добавьте следующие строки в /etc/apt/sources.list из Scratchbox:&lt;br /&gt;
 deb http://repository.maemo.org/extras/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-testing/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-testing/ fremantle free&lt;br /&gt;
 &lt;br /&gt;
 deb http://repository.maemo.org/extras-devel/ fremantle free non-free&lt;br /&gt;
 deb-src http://repository.maemo.org/extras-devel/ fremantle free&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После этого выполните следующие команды из Scratchbox:&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://repository.maemo.org/extras-devel/dists/fremantle/fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-key add fremantle-extras-pubkey.asc&lt;br /&gt;
 apt-get update&lt;br /&gt;
 apt-get update&lt;br /&gt;
&lt;br /&gt;
Да, иногда требуется выполнить обновление apt-get дважды.&lt;br /&gt;
&lt;br /&gt;
Если сообщается, что apt не может найти keyring, предложенные выше команды должны все исправить.&lt;br /&gt;
&lt;br /&gt;
[[Category:Разработка]]&lt;br /&gt;
[[Category:Scratchbox]]&lt;br /&gt;
[[Category:Fremantle]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>