Nejak jsem nepostrehnul hlavni vyhodu portu. Kompilovat baliky s vlastnimi flagy jde prece i prostym stazenim zdrojku.
Pokud za porty stoji nejaka dalsi logika (jako treba hlidani a rekompilace zavislosti), pak by si to myslim zaslouzilo 1-2 odstavce, ne? A co spoluprace portu s instalovanymi baliky? Predpokladam, ze kdyz nemam nainstalovanou *-dev verzi baliku, tak nemam jeho headery a tim padem proti nemu nemuzu sestavovat dalsi aplikace.
Jestli to umí rekompilovat závislosti netuším, ale působí to na mě trochu jako AUR (Arch User Repository) a související věci u Archlinuxu. Mohl bych udělat wget && ./configure && make && make install, ale v tu chvíli mám soubory mimo balíčkovací systém. Takže ruční řešení konfliktů souborů, musím si uchovávat někde tenhle adresář a doufat, že autor udělal make uninstall... A nebo to prostě zabalím do portu, který z toho udělá balíček, se všemi výhodami balíčkovacích systémů. U Archu bývají uvedené i závislosti, ať už z repozitářů, nebo na další položky v AURu
toz placat a spekulovat muzete do nekonecna. openbsd porty - viz clanek - resi mimo jine i to, zda knihovny zavislosti v portech sedi s verzemi knihoven na systemu. dale openbsd porty kontroluji, zda nahodou "neutekla" nejaka zavislost, napr. 'guess'/'auto' volba v configure muze zkompilovat podporu, kdyz se nejaka knihovna na systemu nachazi...
http://man.openbsd.org/OpenBSD-current/man5/bsd.port.mk.5
http://man.openbsd.org/OpenBSD-current/man1/pkg_create.1
Oproti kompilaci z čistého zdrojáku to má výhody dvě, že si to všechny závislosti vyřeší samo a také, že obsahuje patche, které umožňují běh s BSD kernelem (velká část software 3. stran je optimalizovaná pro Linux).
Já to tam na několika místech píšu, ale nikde tomu nevěnuji dva odstavce, možná máte pravdu, mohl jsem to více rozvinout, ale tenhle článek konkrétně byl více míněn pro ty uživatele, kteří už vědí, že porty existují a co jsou, ale nemají s nimi ještě dost zkušenostíl.
Každopádně, pokud Vám tam tato informace chyběla, pravděpodobně jsem ji tam uvés měl a za to se omlouvám.
Hezký den.
V některých článcích a zprávičkách mi přijde, že jsou napsané pro děti z mateřské školky, které se mají po přečtení textu stát doktory věd (text popisuje vcelku pokročilé věci, přitom ale na začátku vysvětluje banality) a pak někdo zveřejní na majoritně linuxáckém serveru článek pro pokročilé uživatele BSD a lidem přijde, že je o ty základy někdo ukrátil.
Podle mě ten druhý případ není zase takový problém. Pokud někdo nezná základy, má materiálů k dispozici online dost a googlit snad umí každý.
1. pod rootem? teda za predpokladu, ze '#' oznacuje root shell? to snad ne? proto ma OpenBSD roky 'SUDO=sudo' ci nove 'SUDO=doas' v /etc/mk.conf
2. proc obstarozni 5.8? pokud pouzivate OpenBSD a chcete jej propagovat, tak proc nepropagujete to, co je v nem noveho, aby se tak dosahlo vetsiho testovani?
- vetsina uzivatelu pak roni krokodyly slzy, ze nemaji -stable, ze maji stary programy tretich stran atp.
- v 5.9/-current porty dosahly dalsich zmen, samotne stahovani distfilu se provadi pres uzivatele _pfetch (IIRC) a dalsi "vychytavky", aby se tak mohl odstrelit casem systrace (IMO)
3. tak chyba ohledne jinych knihoven se resi - `make package PKG_CREATE_NO_CHECKS=warn'
4. vyhledavani v portech - nevim nevim, ale pres INDEX to smrdi 90. lety. osobne bych propagoval sqlports, resp. `sqlite3 /usr/local/share/sqlports' a SQL query.
5. osobne bych popsal /etc/mk.conf - PORTSDIR, PORTSDIR_PATH a 'mystuff'. a hlavne, jak sestavit port s DEBUG pro smysluplny bug report.
6. nez hackovat existujici porty pro 5.8, cely clanek spis mel by byt navodem "prilakat" vice useru a poradit jim, jak dotahnout ty aplikace, ktere v OpenBSD nemaji. kde lezi ports templaty, kde jsou infra Makefily, jak s aplikacemi z GitHubu, jak se anspirovat pkgsrc nebo (uff) FreeBSD porty.
Díky za poznámky,
vezmu to po pořadě:
1. ano $ označuje uživatelský shell, # označuje root shell. Sudo bylo, doas je doporučenou metodou OpenBSD, ale já to vidím právě naopak a nechci to tady rozvíjet, protože to je věc dlouhé argumentace proč ano a ne, chci se bavit o portech.
2.verze 5.8 není obstarožní, je to produkční verze, verze -current je testovací, nikomu nebráním jet na testovací verzi, ale účelem tohoto příspěvku bylo právě ukázat, že můžete být na stabilní větvi a mít software aktualizovaný na poslední verzi.
3. díky moc, tohle jsem nevěděl
4. ano, vím, ale to už musíte mít nainstalované 3.party balíčky
5. souhlasím, udělejte to
6. i já myslím, že účelem je zpopularizovat OpenBSD, ale každý článek má určitý rozsah a nikam nejde napsat všechno, takže jsem mohl popsat jen něco.
Závěrem, pokud jste tento jiri.b :http://www.abclinuxu.cz/lide/jiri.b
tak Vás rád poznávám.
Ty oldschool *BSD systémy portů stejně vypadají vedle Portage jako hrozivej oser. :) Jinak ke kompilaci LibreOffice, na dnešních CPU to není zas takovej problém, s aspoň 8 GB RAM se to dá dokonce s workdirem na tmpfs. Ale je pravda, že oproti zbytku systému to trvá dloooouho.
Každopádně dík za článek, o *BSD vyjma Free se informace nehledají zas tak jednoduše.
- portage je hodně dobře vymyšlený systém, který hlavně velmi snadno umožňuje vracet se ke starším verzím anebo upgradovat
- FreeBSD porty mají oproti OpenBSD portům také spousty možností navíc v uprade a update
- osobně vidím portage a FreeBSD porty jako velmi velmi sobě podobné
- OpenBSD porty jsou daleko víc "zatuhlé", oni to prostě vymysleli celé trochu jinak, vymysleli to tak, že nikdo nebude nic měnit a bude to tam takhle "natvrdo", oni si dělají spoustu věcí jinak, než zbytek světa, ti vývojáři OpenBSD a i mně se některé věci líbí víc a jiné míň, na druhou stranu jim vše, co vymyslí a protlačí, prostě fachá...