The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Сборка бинарных пакетов для PC-BSD (bsd gui desktop packet build)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: bsd, gui, desktop, packet, build,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-13 15:59:35 Subject: Сборка бинарных пакетов для PC-BSD
by Dru Lavigne
01/05/2006
Original

Перевод: Сгибнев Михаил

FreeBSD начала все больше и больше привлекать внимание пользователей в качестве операционной системы для рабочих станций. В последние годы появилось несколько ОС, базирующихся на FreeBSD, позволяющих неквалифицированному пользователю установить систему, настроить звук, сеть и необходимые приложения. В дополнение к легкости использования, пользователь получает безопасность и стабильность, свойственную всем BSD системам, отсутствие какой-либо платы и преимущества BSD license.

Одним из таких проектов является PC-BSD, который предоставляет две отличительные особенности, делающие его сильным игроком на рынке настолькых систем. Первый - это Online Update Manager, позволяющий пользователю одним щелчком мыши задавать расписание или проверять в ручном режиме доступность обновлений системы и приложений. В случае наличия обновлений, они загружаются и устанавливаются, делая это процесс легким и незамысловатым.

Второй особенностью является наличие GUI инсталлятора. В то время, как опытные пользователи могут работать с системой портов FreeBSD и прекомпилированными пакетами, обычные люди могут скачать PBI (пакет PC-BSD) из каталога приложений PBI, дважды щелкнуть на нем и приложение будет установлено как по волшебству.

Преимущество PBI заключается в самодостаточности. Это значит, что пользователь случайно не перезапишет существующие библиотеки или файлы, устанавливая или удаляя приложения.

В этой статье показано, как создать ваш собственный PBI, используя в качестве примера Digikam, поскольку это приложение содержит довольно много зависимостей. Хотя, среднее PBI будет значительно проще, я хотела бы показать те подводные камни, с которыми вам предстоит столкнуться.

Хотя вряд ли случайные пользователи будут собирать PBI, быть программистом для этого совсем не обязательно. Если у вас есть некоторые навыки работы в Unix, вам нравится коллекция портов FreeBSD и вы обладаете достаточным количеством настойчивости и упорства то легко можете создать ваш первый PBI в течение дня. В данной статье мы предполагаем, что вы работаете в PC-BSD.

Шаг 1: Создаем рабочую область

Начните с поиска на http://www.pbidir.com, чтобы удостовериться в отсутствии уже собранного PBI. Так же удостоверьтесь, что необходимый пакет FreeBSD имеется в каталоге пакетов FreeBSD.

Обратите внимание на то, что на момент написания статьи 6.0-RELEASE только вышла и для нее не было достаточного количества пакетов в 6.0-RELEASE/packages/. Я рекомендую обратиться сначала туда, поскольку там находятся более новые версии пакетов, в случае неудачи, используйте 5.4-RELEASE/packages/.

Затем создайте каталог приложения в вашем домашнем каталоге, при этом необходимо иметь права суперпользователя:

Шаг 2: Скачиваем пакет FreeBSD и необходимые библиотеки

Получаем пакет: Затем, устанавливаем пакет, чтобы удостовериться, что не имеем неразрешенных зависимостей. Если вы получите сообщение об ошибке, доустановите требуемые зависимости: Снова делаем попытку установки пакета: Не волнуйтесь, если получите предупреждение о несоответствии версий некоторых библиотек. Вы можете проверить успешность установки следующей командой:

Шаг 3: Подготовка пакета и сценария установки/удаления

Для начала, распакуем пакет: Таким образом, распакуем все пакеты, удалив оригиналы: Обратите внимание на то, что в результате этих действий было создано несколько каталогов, один из которых bin/. PBI, который вы создаете, будет сжатым снимком этого каталога. В остальной части статьи мы рассмотрим, как поместить в него все необходимое.

Создадим новый тарбалл, называющийся base_changes.tar, содержащий все, за исключением bin/: Создаем сценарий установки и делаем его исполняемым: Аналогично со сценарием удаления PBI: Обратите внимание на то, что во время установки PBI все необходимое (base_changes.tar) распаковывается в /usr/local/MyPrograms/$1, где $1 означает имя PBI. При деинсталляции PBI этот каталог удаляется.

Поскольку вы можете использовать эти сценарии с любым PBI, то не стоит удалять их, лично я сохраняю копию в моем каталоге pbi/.

Шаг 4: Копирование библиотек

Создаем подкаталог lib/ в каталоге bin/: Если приложение не самое простое, то может быть довольно большое число библиотек, которые необходимо будет разместить в lib/. ldd даст вам их имена, но процесс необходимо автоматизировать. Поскольку этот сценарий пригодится вам еще не раз, сохраните его в ~user_account/pbi/. Не забудьте сделать этот сценарий выполняемым: В качестве параметра сценарий берет имя бинарного файла: Наш проект содержит 38 исполняемых файлов, что потребует соответствующее число раз запустить lib.sh. Сценарий lib.sh создает еще один сценарий, копирующий необходимые библиотеки, поэтому порядок действий представляется следующий: После того, как закончите этот увлекательный процесс, обратите внимание на каталог lib/: Таким образом, собралось 79 библиотек.

Затем проверьте, имеются ли какие-либо подкаталоги в lib/: Переносим их в bin/lib/:

Шаг 5: Ищем иконку и очищаем bin/

Было бы здорово добавить к вашему PBI иконку. Проверьте, есть ли она в вашем пакете: Этот пакет определенно шел со многими иконками, и это - та, которую я ищу: Если ваш пакет не имеет никаких иконок в своем составе, выберите себе любой из каталога /usr/local/share/icons/crystalsvg/128x128/ и копируйте его в bin/.

Когда вы закончите, удалите пакет со всеми зависимостями, чтобы они не мешали нам при проверке PBI: Еще раз проверьте каталог bin/ и убедитесь в том, что он содержит только архив base_changes.tar, сценарии установки/удаления, бинарные файлы и каталог lib/:

Шаг 6: Создаем PBI

PC-BSD предоставляет графический инструментарий для создания PBI - Package Creator. Он преобразует содержимое каталога bin/ в PBI. Для установки Package Creator просто дважды щелкните на скачанном файле. По умолчанию, он разместит иконку на рабочем столе и сделает запись в меню Programs.

Запустите Package Creator и на первом экране введите описание пакета: На следующем экране можно установить значение "No" для экрана отображения лицензии, если PBI не требует обратного.

На следующем экране укажите расположение каталога bin/: В разделе Library Support выберите пункт Specify Library Directory, щелкните на кнопке Browse и дважды кликните на lib/. На следующем экране выберите пункт Default Program Icon и укажите расположение иконки PNG.

Нажмите Add в пункте Package Executables и укажите имя программы. Щелчок на кнопке Browse в пункте Package Executables позволит выбрать программу (в данном примере digikam).

Некоторые программы (например Ethereal) требуют права суперпользователя для запуска. Digikam к их числу не принадлежит, поэтому просто выбираем Save и Next для завершения.

Некоторые программы требуют указания типов Mime, которые вы можете добавить в следующем экране (Digikam не в их числе).

Создание PBI занимает некоторое время, которое зависит от количества и обьема библиотек и размера архива. По завершенни работы утилита оповестит вас и поместит готовый PBI в ваш домашний каталог. Если есть желание, то нажав кнопку Save preset, вы можете сохранить введенные данные в файле .pbc.

Шаг 7: Проверяем PBI

Важно убедиться в работоспособности созданного PBI, в его корректной установке и последующем удалении.

Я поместила PBI на рабочий стол: Теперь покинем учетную запись суперпользователя и убедимся, что приложение в настоящее время не установлено: Дважды щелкните на PBI. Система спросит у вас пароль суперпользователя, дважды нажмите Next и затем Finish. На рабочем столе должна появиться иконка приложения, запустите его, чтобы убедиться в его работоспособности.

Тепрь убедитесь в корректном удалении.

Перейдите Computer -> PC-BSD Settings -> Remove Programs и удалите программу. После завершения процесса убедитесь, что каталог программы удален из /usr/local/MyPrograms/.

Если что-то не работает

Если вы получаете ошибку при запуске программы, проверьте содержимое каталога вашей программы в /usr/local/MyPrograms/. Возможно вы пропустили подкаталоги или файлы, допустили ошибку в сценарии установки, приведшей к нераспаковке архива. Соответственно, если после деинсталляции программы остаются неудаленные файлы, то ошибка допущена в сценарии удаления.

Если, на первый взгляд, все файлы на месте, возможно вы не выполнили lib.sh для какого-нибудь бинарного файла и теперь не хватает библиотек.

Иногда может оказаться так,что приложение запустится, но будет неработоспособно. В примере с Digikam оказалось бы недоступно большинство меню. Это случается, когда приложение использует файлы совместно с существующими приложениями, такими как KDE. Чтобы найти эти файлы я проверила список пакетов для Digikam.

Это были общие файлы, которые я пропустила. Поскольку я не хочу конфликтовать с существующими приложениями или копиями файлов вне рабочего каталога программы, я использовала символические ссылки. Я люблю добавлять ссылки по одной в командной строке и повторно запускать приложение, наблюдая, что из этого получится. Как только я поняла, какие символические ссылки добавили недостающие особенности, я добавила их в PBI.SetupScript.sh и впересобрала PBI. В случае Digikam недостающие особенности были добавлены следующими ссылками (в командной строке замените 1$ названием каталога, поскольку 1$ будет работать только в сценарии): В заключение, если ваше приложение использует GTK+ или Pango, обратитесь к документу GTK+ and Pango PBI packaging.

Шаг 8: Публикуем PBI

Если вы преодолели массу сложностей, чтобы сделать PBI, то вы могли бы отправить его для включения на сайт PC-BSD, таким образом другие пользователи PC-BSD смогут его использовать. Убедитесь, что полностью проверили работоспособность PBI, хотя разработчики PC-BSD еще раз оттестируют ваш пакет.

Перейдите в каталог PBI на сайте и нажмите ссылку "Submit PBI package for approval". Сам процесс разбит на две части. Первая заключается в том, чтобы загрузить PBI на проверку через ftp: Затем в окне браузера укажите ваше имя, email, имя PBI и его описание, при необходимости добавьте комментарии. Ваш PBI теперь появится в списке пакетов, ждущих одобрения. Разработчики войдут в контакт с вами относительно состояния вашего PBI.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру