Portál AbcLinuxu, 1. června 2025 09:57


Dotaz: Mandrake 10 a vytváranie RPM balíčkov

prometeus avatar 31.7.2004 14:30 prometeus | skóre: 9 | blog: Nielen historický blog
Mandrake 10 a vytváranie RPM balíčkov
Přečteno: 172×
Odpovědět | Admin
Kde môžem nájsť slovenský alebo český návod na vytvorenie RPM balíčkov zo zdrojových súborov v xxxx.tar.gz? V niektorej konferencii to už bolo preberané, nemôžem to ale nájsť. Miesto configure - make - make install treba zdať alternatívny príkaz.

Ospravedlnte ma za tento skoro OT dotaz.
Kto vraví pravdu, ten neumrie na chorobu. -- Džingischán
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.7.2004 18:13 Begleiter | skóre: 47 | blog: muj_blog | Doma
Rozbalit Rozbalit vše Re: Mandrake 10 a vytváranie RPM balíčkov
Odpovědět | | Sbalit | Link | Blokovat | Admin

Mozna to bude trochu mimo, ale je uzitecne si uvedomit toto: vetsina korektne napsanych programu lze nainstalovat pomoci make DESTDIR=/adresar install. Pricemz vsechny programove soubory se nainstaluji do DESTDIR, jakoby byl korenovy adresar. Vysledek potom muzeme velmi lehce (plati pro Slackware) sbalit do balicku. Takze:

 ./configure
 make
 make DESTDIR=[cesta] install
 # DESTDIR pouzijeme k tvorbe balicku
31.7.2004 18:22 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Mandrake 10 a vytváranie RPM balíčkov
Pokud je build systém programu slušný, tak je tohle triviální krok (a pokud není, tak je to těžká pruda).

Více práce je -- u rpm, a obzvlášť u debu -- vyplnění metadat, závislostí, ...
31.7.2004 18:17 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Mandrake 10 a vytváranie RPM balíčkov
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dotaz není vůbec OT (i když bych ho možná zařadil do jiného fóra).

(a) tarball obsahuje specfile:

rpmbuild -tb xxxx.tar.gz

(b) tarball neobsahuje specfile:

(b1) napsat si specfile ;-) nahrát tarball do SOURCES, a pak

rpmbuild -bb xxxx.spec

Český návod k spec souborům ovšem neznám, jen anglické.

(b2) použít checkinstall -- k takto vzniklým balíčkům sice lze mít výhrady, ale něco vytvoří...
prometeus avatar 31.7.2004 20:50 prometeus | skóre: 9 | blog: Nielen historický blog
Rozbalit Rozbalit vše Re: Mandrake 10 a vytváranie RPM balíčkov
Ďakujem za pomoc. Také jednoduché funčné riešenie som ani nečakal. TO rpmbuild -tb xxxx.tar.gz je to čo som hľadal. Existuje niečo podobné aj na xxxx.tar.bz2 ? V tomto prípade to však nefunguje a z man stránok nie som 2x múdry. Zatiaľ to asi vyriešim tak, že z takéhoto balíčku spravím tarbal.
Kto vraví pravdu, ten neumrie na chorobu. -- Džingischán
31.7.2004 22:28 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Mandrake 10 a vytváranie RPM balíčkov
Funguje to stejně dobře tarball zabalený čímkoli, pokud

1. obsahuje specfile :-)

2. specfile uvádí jako ,Source` sebe. Tj. když je to zabalené .bz2, musí být ve specfile Source: xxxx.tar.bz2, analogicky gzip.

Pokud to nejede, tak tam asi žádný není (což lze nejsnáze ověřit tak, že se do tarballu podíváš).
prometeus avatar 31.7.2004 23:19 prometeus | skóre: 9 | blog: Nielen historický blog
Rozbalit Rozbalit vše Re: Mandrake 10 a vytváranie RPM balíčkov
Mea culpa, taký som bol rozbehnutý, že u jedného tarballu som si nevšimol absenciu súboru xxxx.spec.

Pozeral som na kód toho spec súboru a vidím že nie je ani príliš rozsiahly a je aj pomerne dobre čitateľný. Mohli by ste mi dať nejaký link na popis spec súborov trebárs aj v anličtine? Nejako sa cez to prelúskam. Dosť ma to totiž zaujalo. Vopred ďakujem.
Kto vraví pravdu, ten neumrie na chorobu. -- Džingischán
prometeus avatar 1.8.2004 01:08 prometeus | skóre: 9 | blog: Nielen historický blog
Rozbalit Rozbalit vše Re: Mandrake 10 a vytváranie RPM balíčkov
Nedalo mi to a trochu som googlil... Tu je pár liniek pre prípadných záujemcov:

http://www.fedora.us/docs/spec.html http://rikers.org/rpmbook/node145.html http://www.fedora.us/docs/rpm-packaging-guidelines.html

autospec 0.7 - pythonovský skript

Entered-date: 2002-02-09 Description: autospec creates spec files used by the Red Hat Package Manager in building RPM packages. It uses the information it can determine (from a Makefile, manual pages, an LSM file, etc.) to fill in the proper spec file fields. This allows a human packager to use the generated spec file as an almost complete template to quickly create an RPM package from a typical source or binary archive.

http://www.boutell.com/lsm/lsmbyid.cgi/002023

download na tejto adrese však nefunguje...

...takisto je preč download na sourceforge.net programu - "SPEC and patches for RPMS"
Kto vraví pravdu, ten neumrie na chorobu. -- Džingischán
prometeus avatar 1.8.2004 01:37 prometeus | skóre: 9 | blog: Nielen historický blog
Rozbalit Rozbalit vše Re: Mandrake 10 a vytváranie RPM balíčkov
Keďže som sa do toho trochu zavrtal, zistil som, že Mandrake 10 obsahuje aj balíček spec-helper-0.10.1-1.mdk.

Aj keď to možno beriem z toho zložitejšieho konca, má to aspoň ten zmysel, že začínam trochu chápať fylozofiu mandrakovského balíčkovacieho systému a musím priznať, že ma to nejako neoslňuje. Výhodné je to do vtedy, kým nepotrebujete nainštalovať nejaký neštandarný program a chcete aby ho ten správca softvéru poznal, lebo ak ho nespozná, robí to bordel neskôr - v mojom prípde pri upgrade z 9.1 na 10...
Kto vraví pravdu, ten neumrie na chorobu. -- Džingischán
1.8.2004 09:24 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Mandrake 10 a vytváranie RPM balíčkov
Jo, na vytváření specfile existují různá udělátka, já je píši ručně, protože když napíšeš tři, tak ostatní už stejně vytváříš cut'n'paste...

Ad balíčkovací systém. rpm lze vytknout různé věci, ale tuhle nechápu. U každého balíčkovacího systému musí [netriviální] programy balit někdo, kdo je zná, jinak to skončí tragicky. Pro MDK ovšem neexistuje moc repositářů s dodatečným software (srovnej s FC), což je problém distribuce či jejich uživatelů, nikoli rpm.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.