Gentoo csomagfüggőségi hálózat

Fórumok

Tisztelt Gentoosok!
Szeretnék egy szívességet kérni. Korábban vizsgáltam a Debian/Ubuntu szoftvercsomag-függőségi hálózatát (tulajdonképpen egy jó nagy gráfot kb 30000 csomaggal), és most szeretném ezt kibővíteni. Egyik tanítványom készített az Arch Linuxról ilyen hálózatot pacgraph-fal (kicsit több mint 4000 csomag) és úgy tűnik, hogy a pacgraph működik Gentoo-val is. A -r kapcsolóval csak egy szöveges kimenetet ad, az kellene nekem, de nem szeretnék emiatt gentoot telepíteni. Az arch-ban van olyan opció, hogy --mode=arch-repo, amellyel a tárolókból szedi, és nem csak a gépen feltelepítetteket, de ez -- úgy látom, sajnos -- Gentooval nem megy. Nagyon örülnék, hogyha olyan gépről kapnék ilyen fájlt, amelyen sok csomag van telepítve.
Szívesen látok egyéb ötletet is, hogyan lehet a tárolókban levő összes csomag hálózatát létrehozni gentoo alatt.
Üdvözlettel: Horváth Árpád

Hozzászólások

A deb-csomagok függőségi hálózatának létrehozására én is a python-apt-t használom. Ezzel tizenvalahány másodperc alatt kész a 33000 csomagból álló Ubuntus csomaghálózat, amit aztán tanórán is tudunk vizsgálgatni különböző szempontokból a remek igraph gráfvizsgáló programmal. Egyelőre még nem volt időm foglalkozni, hogyan tudom meg a virtuális csomagok (editor, www-browser...) "függőségeit".

Horváth Árpád (harp)

A fő probléma a Gentoo-val hogy ha valaki elküldi neked a csomagfüggőségeit, az az ő csomagfüggősége lesz, nem a Gentoo-é. Mivel minden Gentoo telepítés más és más. Más USE-flagek miatt más függőségekre tarthat igényt egy-egy csomag.

Igen. De sajnos jobbat nem tudok. Ha valaki sok csomagot használ, abban szerintem ugyanúgy meg kell jelennie például a hatványfüggvény jellegű fokszámeloszlásnak, vagy a véletlen (Erdős-Rényi) gráfhoz képest jelentősen nagyobb maximális fokszámnak és csoporterősségi együtthatónak, mint az egészben.

Horváth Árpád (harp) – Ubuntu (GNOME) / Debian (szerver)

Nem tudom, évek óta nem gentooztam, a csomaglistát nem lehet már letölteni portage-latest.tar.bz2 néven?
Anno ez egy alap lépés volt telepítésnél, mert semmilyen csomaglistát nem tartalmazott a telepítő.
Ez még megvan: http://gentoo.inf.elte.hu/snapshots/

Nekem nem megy a pacgraph. Van valami függősége? (bár hibát nem ir)

gentoobinhost pacgraph # ./pacgraph -r
Loading package info
gentoobinhost pacgraph # cat pacgraph.txt
{}gentoobinhost pacgraph #

Letöltöttem, kicsomagoltam, futtattam.

Köszönöm a próbálkozást! Szerintem nem a program függőségeivel lehet a gond, hanem valamiért nem ott keresi a dolgokat, ahol vannak. Egyelőre megvárnám, hogy vargad megtalálja-e a régebben használt programját. Ha nem, akkor lenne fontos a pacgraph-os kimenet.

Horváth Árpád (harp) – Ubuntu (GNOME)

Én korábban készítettem egy olyan programot amely graphviz diagramot készít a függőségekről, ha jól emlékszem jelölve a use flag miatti függőségeket is. A diagram olyan nagy lett, hogy nem tudtam megjeleníteni. Sajnos a pdf olvasó az egész oldalt akarja a memóriában tartani nem csak a látható részeket, a képnézegetők szintén.

EDIT: Elvileg a felhasznált eszközök ma is működnek. Ha érdekel megnezem, hogy tudod-e valamire használni.

Köszönöm, az nagyon jó lenne :-) Bármilyen könnyen feldolgozható egyszerű szöveges (esetleg xml) formában megfelelne. Ha graphviz diagrammot készít, akkor gondolom .dot fájlt készít előtte. Az nekem teljesen megfelelő. Ez, ugye, nem csak a telepítetteket nézi, hanem az összeset.

EDIT: Nem valami ehhez hasonló? http://sources.freehackers.org/GentooDepBrowser
Én Ubuntu alatt próbáltam futtatni, de gondolom az "import portage" sor csak gentoo alatt működik.

Horváth Árpád (harp)

Én nem a Python felületet használtam a portagenek, hanem parancssori eszközökkel szedem össze az információt. Nyilván így sokkal lassabb... Jelenleg csak a telepített programokat listázza ki az is elég sok volt, de úgy tűnik a teljes csomag listát képes lenne kis módosítással. A hétvégéig nem nagyon lesz időm foglalkozni vele, akkor megpróbálok neked készíteni egy függőségi listát valami egyszerű szöveges formába.
A Gentoo egyébként nyilvántartja a build time függőséget és a runtime függőséget, ha össze akarod hasonlítani a többi bináris rendszerrel gondolom neked csak a runtime kell.
Érdemes lehet megpróbálna a GentooDepBrowser-t amit linkeltél, a portage python felülete biztos gyorsabb, de lehet kicsit kell rajta reszelni, mert elég régi.

A runtime függőség és a build time függőséget nem teljesen értem. Azt jelenti, hogy mik kellenek a fordításához, és mik kellenek a futtatásához? Úgy látom ilyesmiről van szó, hogy a binárisokhoz nem kell a build time függőség.

Van egy működő, ami a telepítetteket listázza, és lehet tudni, hogy hány van éppen azon a rendszeren? Érdekelne a programok száma, ha nem is az összes még.

Horváth Árpád (harp)