Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: JOKe в Aug 07, 2005, 22:15



Титла: последен път питам как се build deb package
Публикувано от: JOKe в Aug 07, 2005, 22:15
:( питал сам няколко пъти секи дава някви статии дето са от еди каде си до еди каде си примерно само как да си направиш контрол фаил а и почти нищо не се разбира.
хаиде някои веднъж за винаги които го е правил да обясни как се прави ДЕБ пакет на български по ДЕБИАН WAY както се казва.
дърпа се сорс-а на нещо да кажем eFLTKxxxx.tar.gz после ?


Титла: последен път питам как се build deb package
Публикувано от: paucku в Aug 08, 2005, 00:00
1. При условие, че сорс пакетът е пригоден за Дебиан
Инсталирай си dpkg-dev
Цитат
Description: Package building tools for Debian
 This package contains the tools (including dpkg-source) required to unpack, build and upload Debian source packages.

 Most Debian source packages will require additional tools to build - for example, most packages need the `make' and the C compiler `gcc'.

Това работи при положение, че изходния код е пригоден за Дебиан — с включен файл debian/rules.

След това четеш READMEто на програмата, където пише, че трябва да напишеш:
Цитат
dpkg-buildpackage с някакви опции тука


Правил съм го — работи ;)

2. Ако сорс пакета не е пригоден за Дебиан — не знам ???

3. Ако е бинарен пакет (може и RPM — даже е по-добре)
инсталираш alien и после пишеш
Цитат

alien -d името-на-пакета.rpm
alien -d името-на-пакета.tgz

Генерира ти се един .deb файл който го инсталираш с
Цитат
dpkg -i име-на-файл.deb


В повечето случаи това работи.

4. Намираш си пакет за Дебиан и ти е мирна главата.
Това е, което най-често правя аз. Намирам пакета и го инсталирам с "dpkg -i" или направо намирам източник и го вкарвам в /etc/sources.list и си инсталирам пакета с aptitude (или apt). Второто (с източника) е по-добрия вариант, защото ъпдейта става много лесен.

Бива ли отговора?


Титла: последен път питам как се build deb package
Публикувано от: в Aug 08, 2005, 00:09
Що не прочетеш малко за auto-apt ;) Командите, които ще са ти интересни (предполагам) са
auto-apt run configure
auto-apt run make
и т.н.
С две думи с тази команда пускаш стандартните configure и make, но ако нещо по средата "забие" защото липсва това или онова, apt ти предлага от кой пакет можеш да го набавиш, така че инсталацията да мине ОК  :D

Успех


Титла: последен път питам как се build deb package
Публикувано от: JOKe в Aug 08, 2005, 09:47
oo това auto-apt тогава е нещо наистина добро аз мислих че само може да проверява кви са депендансите на даден сорс пакет ама не и само да ги дарпа а у :) лудница мерси АГЕНТ-СМИТ
иначе поста беше наи вече за :
2. Ако сорс пакета не е пригоден за Дебиан .
та аиде някои да обясни дето го е правил не е кои знае какво а и ще е супер полезно на сички дебианаджии тук


Титла: последен път питам как се build deb package
Публикувано от: Regia в Aug 08, 2005, 10:33
apt-get install checkinstall

После отиваш в директорията на избрания сорс, и пишеш:

./configure
su
checkinstall


Титла: последен път питам как се build deb package
Публикувано от: JOKe в Aug 08, 2005, 10:51
дам ама така ще получа Sample DEB PACKAGE демек без dependances :)
така че въпроса си остава : КАК СЕ BUILD DEB пакет от SORCE по ДЕБИАНСКИ

а и ако не се лъжа командите не бяха ли
./configure
make
checkinstall


Титла: последен път питам как се build deb package
Публикувано от: JOKe в Aug 12, 2005, 12:19
я някои запознат с Debian from SCRATCH има ли ?


Титла: последен път питам как се build deb package
Публикувано от: в Aug 12, 2005, 12:38
Цитат (JOKe @ Авг. 12 2005,13:19)
я някои запознат с Debian from SCRATCH има ли ?

Има :)

Ако се ориентираш към нещо от сорс, силно препоръчвам gentoo. Бидейки Дебиан фен съм силно пристрастен и въпреки това ти препоръчвам gentoo - от два месеца го ползвам и се чувствам у дома - всичко е подредено като аптека, нищо не се инсталира без да го искаш. В дебиан винаги ме е изнервял факта, че щеш-нещеш, някои неща ги получаваш (пример exim4). В gentoo не е така ;) А и всичко е оптимизирано специално за твоята машина и компилирано от сорс  :D


Титла: последен път питам как се build deb package
Публикувано от: july в Aug 23, 2005, 09:20
Цитат (JOKe @ Авг. 08 2005,11:51)
дам ама така ще получа Sample DEB PACKAGE демек без dependances :)
така че въпроса си остава : КАК СЕ BUILD DEB пакет от SORCE по ДЕБИАНСКИ

не е ли работа, точно на дебианските специфични файлове към сорса, да се погрижат за зависимостите?

примерно, да има секция, в която се казва от кое зависи пакета, какво предлага (за други пакети, които може да зависят от това което предлага, т.н.)

ето ти пример, за нещо подобно (не е дебиан)*
Примерен код
pkgname=xorg
pkgver=11R6.8.2
pkgrel=4
pkgdesc="A fork of the XFree86 Project with a GPL-compatible license"
url="http://www.x.org"
depends=('glibc' 'freetype1' 'fontconfig' 'gcc' 'libpng')
makedepends=('perl')
conflicts=('ttf-bitstream-vera' 'xfree86')
provides=('x-server' 'xfree86')
replaces=('x')


*принипа би трябвало да е еднакъв


Титла: последен път питам как се build deb package
Публикувано от: kostadinz в Aug 23, 2005, 09:46
като се е почнало за пакети да питам и аз.
може ли да се инсталне deb пакет директно от нета без да се сваля първо, без да се добавят нови репозиторита -както може например rpm да му се даде направо url с пакета.


Титла: последен път питам как се build deb package
Публикувано от: dbaniza в Aug 23, 2005, 10:14
За да можеш да създадеш дебиански пакет от сорс в сорса трябва да има диектория debian, а в нея освен всичко дуго един скипт с име rules. Така за да копилираш пригоден пакет The hardcore Debian way правиш в разархивирания сорс:
Примерен код

DEB_BUILD_OPTIONS="опции към .config" fakeroot debian/rules binary

и получаваш .deb пакет който можеш да си инсталираш по конвенционалния начин с dpkg -i.
А за да пригодиш някой "див" пакет за дебиан си сваляш с апт "dh-make", пишете man dh_make и се разбиваш.
Сега, сигурно има и по-лесни начини, но аз знам този, а и dh_make е официалния туул на дебиан девелуперите за тази работа.
Ми това е, остава ми само да кажа /debian/rules
 ;)