Igen, kb. ez a fuggosegkezeles definicioja, amit leirtal.
A neheze nem is ez, hanem kitalalni a feltelepitesi sorrendet, ugyanis van, amikor a postinst folyamat mar az eppen telepitett csomagbol kell elinditson eszkozoket, vagyis az osszes fuggosegenek fenn kell lenni.
Namost, ha nem epp az utolso csomagot telepited, akkor ez trukkos dolog, mert nem eleg csak az alap fuggosegi sorrend alapjan feltolni a csomagokat, hanem fel kell epiteni a fuggosegi fat, es a szerint sorbarakni, mindig a fa gyokerehez legkozelebb eso csomopontot lebontani (asszem igy mondjak), vagyis azokat kell elobb feltelepiteni, amitol a tobbi feltelepitett csomag egyszerre fugg.
Ez eleg bonyolult is lehet. Vegyunk egy alap (felig-meddig hasbol vett) peldat. Az akonadi csomag fugg a MySQL-tol es a libkde4 konyvtartol, a MySQL fugg a cmake-tol, a libkde4 es a cmake fugg a glib-tol, az pedig a gettext-tol. Ekkor (ha felteszem, hogy ez a teljes fuggosegi fa) eloszor fel kell rakni a gettext-et es a glib-et, utana a cmake-t, a libkde4-et, a MySQL-t es vegul az akonadit. Ez igy fejben egyszerunek tunik, de azt az algoritmust, ami vegig megy a fuggosegeken, es osszeallitja a telepitesi sorrendet - na azt nem trivialis megirni, foleg bash-ban nem. Nem veletlen, hogy a megoly bash-orientalt Gentoo-ban is python scriptet hivnak segitsegul a fuggosegi fa kiszamitasahoz.
--
Blog | @hron84
Üzemeltető macik