<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d5591484190086716210\x26blogName\x3d%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%BA%D0%B8+ubuntu\x27%D0%B9%D1%86%D0%B0\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://tlanvar.blogspot.com/search\x26blogLocale\x3dru\x26v\x3d2\x26homepageUrl\x3dhttp://tlanvar.blogspot.com/\x26vt\x3d1840766964675028820', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Записки ubuntu'йца

Делюсь вот своими наблюдашками.


Создание пакетов по исходным текстам с применением Checklnstall.

воскресенье, мая 06, 2007

Из книги Шредера “Linux. Сборник рецептов”. Все нижесказанное проверено и работает.

Проблема

Требуется построить пакет Slackware, Red Hat или Debian по исходным текстам, потому что приложение, которое вы хотите установить, не существует в виде нужного пакета. Вы почитали кое-какую документацию по построению пакетов, и эта задача выглядит для вас очень сложной. Нет ли более простого пути?

Решение

Воспользуйтесь Checklnstall.
Для начала проверте наличие программы. Если ее нет, выполните следующие действия:


$ sudo apt-get install checkinstall

После того, как программа установилась, можно двигаться дальше. Выполните следующие команды (в следующем примере используется программа JOE (Joe’s Own Editor):

# mkdir /doc-pak
# tar zxvf joe-2.9.8.tar.gz
# cd joe-2.9.8
# ./configure
# make
# checkinstall -D

Checklnstall заменяет make install, поэтому команда должна выполняться из корневого каталога дерева исходных текстов. Выполните инструкции, отображаемые в процессе работы. Программа строит и устанавливает .deb, в чем нетрудно убедиться:

$ dpkg -l | grep joe
ii joe 2.9.801 joe’s own editor, my fave

Все, программа установлена и готова к работе. Копия пакета остается в каталоге исходных текстов.
Следующая команда строит пакет Slackware:

# checkinstall -S

Построение пакета RPM:

# checkinstall -R

Комментарий

В каталоге doc-pak программа Checklnstall размещает файлы README и прочую документацию программы. Если не создать каталог doc-pak, Checklnstall спросит, хотите ли вы создать каталог документации по умолчанию. Если ответить отрицательно, пакет останется без документации. Checklnstall использует «родную» систему управления пакетами: RPM в Red Hat, installpkg в Slackware, .apt в Debian. Чтобы удалить пакет Checklnstall, воспользуйтесь программой управления пакетами своей системы.

Checklnstall поддерживает любые сценарии установки. Пример:

# checkinstall -D make installpackages
# checkinstall -R make modules_install
# checkinstall -S install.sh
# checkinstall -D setup

He забудьте изучить файл README устанавливаемой программы, а также прочую прилагаемую документацию. Не все пакеты с исходными текстами следуют традиционной процедуре configure-make-make install. Checklnstall еще не позволяет создать пакет без его автоматической установки. Вероятно, эта возможность появится в будущих версиях.

Аргументы в пользу компиляции программ по исходным текстам:

- вы можете включить поддержку тех возможностей, которые вам необходимы;
- оптимизация программ для конкретной архитектуры;
- полный контроль над ходом установки.

Впрочем, есть и недостатки:

- возможные проблемы с обновлением и удалением;
- до «кошмара зависимостей» рукой подать;
- на компиляцию большой программы может потребоваться несколько часов.

Ярлыки: ,


| запостил: banderlog, 19:12 | Ссылка на статью | Комментариев (2) |

AddThis Social Bookmark Button

Коментариев: 2 штук(и)


Статья интересная, но есть вопросы.

1. по умолчанию checkinstall не установлен - его надо ставить есть в дистре). Возможно, стоит это добавить в пост.

2. checkinstall устанавливает "упоминание" о пакете, но не создаёт полновесный дебиановский пакет? И как быть с зависимостями?

p.s. цветовая схема порадовала, понравилась. Может быть, sidebar немножко покороче? В исходном тексте шаблона можно поправить...
откоментировал: Blogger virens, 6 мая 2007 г., 21:51  

Сенкс за напоминание. Подправил.
откоментировал: Blogger banderlog, 7 мая 2007 г., 1:20  


<< На главную... | << Добавить комментарий