Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Начало Помощь Поиск Войти Регистрация
Новости: Идет набор модераторов, если Вам интересна жизнь проекта - обращайтесь к администрации

Русский форум дистрибутива PC-BSD.  |  PC-BSD  |  PBI от пользователей (Модераторы: garacio, lr13)  |  Тема: Скрипт autopbi 0.13 0 Пользователей и 1 Гость смотрят эту тему. « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Скрипт autopbi 0.13  (Прочитано 2588 раз)
aGGreSSor
See y0u 1a7e4..
Участник
**

Репутация: -25
Offline Offline

Пол: Мужской
Сообщений: 119


Be connected in my botnet


Просмотр профиля
« : Мая 06, 2009, 12:17:18 am »

На фоне своих рассуждений об автоматизации создания PBI, написал скриптег на bash. Является скриптовым воплощение приснопамятной статьи "Что такое PBI?" (смысла которой я не понял). Собственно сразу скажу что кофе скрипт готовить не умеет. Создание PBI упрощает до натравливания на результат своей работы PBI Creator, из чего и получается PBI.

Использование: autopbi <пакет_freebsd.tbz>

Результат: папка_имени_пакета/bin на которую натравливается PBI Creator.

Чтобы не испытывать разочарований, рекомендую натравливать только на свежескаченные .tbz. Под свежескаченным .tbz понимается скаченный только что, минуту назад. В противном случае можете не досчитаться зависимостей. Даже если за сутки "пакет_freebsd.tbz" не изменил свое имя и версию, он всё равно может зависеть от "подлый_пакет_версия_1.tbz", вместо "подлый_пакет_версия.tbz", как это было сутки назад.

Путь для скачивания .tbz можно увидеть в первых строках скрипта. Поскольку, 7.2-RC2 почил в бозе (как и следовало ожидать), адресуемся к 7.2. Выйдет 7.3 - поменяете эту строчку и всё.

Теперь, о том что такое "потерянные библиотеки" (lastlib). Ряд олухов царя небесного собирает PBI без включения в них всех библиотек. Если вы собрались собирать PBI: позаботьтесь о чистоте Вашей системы, что значит полное отсутствие установленных портов и .tbz (PBI сюда не входят, их можно иметь установленными сколько угодно). Это нужно, что любой человек мог поставить данный PBI на голую систему. Так вот, в процессе своей работы скрипт выявляет необходимые библиотеки и копирует их в каталог "имя_PBI/bin/lib". Необходимые - не значит, что все они имеются в зависимых пакетах .tbz. Некоторые из них являются желательными, но не строгообязательными. Например, без русского языка же вы прекрасно проживёте? Wink Соответственно такие библиотеки и называются "потерянными". Скрипт выявляет их и записывает в "имя_PBI/bin/PBI.lostlib.txt". Предлагается самостоятельно найти их и скопировать в "имя_PBI/bin/lib". Вполне возможно, что кто-то из них лежит в "имя_PBI/lib", но надо же и Вам чем-то заняться? =)

Прошу внимательно относиться к лицензии оригинальной программы. Скрипт упрощает и этот процесс. Выбранная лицензия будет записана в файл "имя_PBI/bin/LICENSE". К сожалению PBI Creator её не подхватывает, но зато таким образом выполняется пункт GPL о необходимости наличия данного файла с текстом лицензии в корне программы. Скрипты установки/удаления и обновления также создаются автоматически, но тем не менее посмотрите их в PBI Creator, возможно что-то захочется исправить.

Также, не будет лишним нарисовать и положить перед сборкой PBI в папку bin: иконку icon.png и файлы оформления инсталлятора header.png и leftside.png автоматически подхватываемые PBI Creator версии 5.

Пример работы скрипта:

Код:
# ./autopbi mc-4.6.2.tbz
autopbi 0.13; aGGreSSor, 2009                           
[+] Create depend list                                                                   
* Found:       11 dependicies                                                           
* Sucessfully create fetch script                                                       
python25-2.5.4_1.tbz                          100% of 8858 kB  918 kBps 00m00s           
perl-5.8.9_2.tbz                              100% of   11 MB  573 kBps 00m00s           
png-1.2.35.tbz                                100% of  218 kB  276 kBps                 
pkg-config-0.23_1.tbz                         100% of   50 kB   46 kBps                 
pcre-7.9.tbz                                  100% of  544 kB  479 kBps                 
libiconv-1.11_1.tbz                           100% of 1449 kB  363 kBps                 
libslang2-2.1.4_1.tbz                         100% of  925 kB  554 kBps                 
gettext-0.17_1.tbz                            100% of 2500 kB  297 kBps
glib-2.20.1.tbz                               100% of 1728 kB  639 kBps
gamin-0.1.10_1.tbz                            100% of  102 kB   77 kBps
gio-fam-backend-2.20.1.tbz                    100% of   10 kB   60 kBps
[+] Extracting *.tbz...
[+] Extracting *.tar...
[+] Tarballing PBI base...
[+] Writing PBI Scripts...
* Write License?
1) No     3) LGPL2      5) LGPL3    7) OpenBSD
2) GPL2     4) GPL3     6) FreeBSD
#? 2
gpl-2.0.txt                                   100% of   17 kB   44 kBps
[+] Create binary list
* Found:       36 binaries
[+] Copy the required libraries...
* Writing scripts for copying libs...
* Execute scripts
* Copied:       16 libraries
* LOST:        2 libraries

Lost libraries:
libperl.so
libslang.so.2

Finita La Comedia!
Manually copy lost library to mc-4.6.2/bin/lib
and use PBI Creator on /bin
CIA!

Здесь можно видеть "потерянные" библиотеки libperl.so и libslang.so.2 которые надо найти и скопировать в каталог mc-4.6.2/bin/lib вручную.

Скрипт забираем в аттаче, не забудьте сделать его исполняемым командой: chmod +x autopbi
Записан

Cordially yours

Страниц: [1] Печать 
Русский форум дистрибутива PC-BSD.  |  PC-BSD  |  PBI от пользователей (Модераторы: garacio, lr13)  |  Тема: Скрипт autopbi 0.13 « предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by MySQL Powered by PHP Powered by SMF 1.1.3 | SMF © 2006, Simple Machines LLC PC-BSD