Sziasztok!
Saját patch-et kell alkalmaznom az egyik csomagra és úgy elkészítenem. Ezzel még nincs baj, de a csomag nevét is átneveztem és emiatt azok a csomagok amik az eredetitől függtek nem hajlandók települni. A debian/control fileban felvettem az alábbi sorokat:
Provides: old-package
Replaces: old-package
Conflicts: old-package
Mit rontok el? Nagyon idegesítő, biztos csak valami apróságot felejtek ki. Ha kell, akkor a teljes control file-t be tudom másolni.
Üdv,
Árpád
- 828 megtekintés
Hozzászólások
Senki nem csinált még ilyet? Már lassan minden variációt kipróbáltam, de nem akar működni...
- A hozzászóláshoz be kell jelentkezni
Az átnevezés helyett nem lenne egyszerűbb csak a verzióban jelezni a módosítást?
- A hozzászóláshoz be kell jelentkezni
Az nem jó, mert nem szeretném, ha egy újabb csomag felülírná a patch-elt verziónkat.
- A hozzászóláshoz be kell jelentkezni
Akkor tedd "hold" státuszúra az adott csomagot.
- A hozzászóláshoz be kell jelentkezni
Nem férek hozzá a gépekhez amikre ez fel lesz telepítve. Konkrétan egy patch-elt MySQL-ről van szó amit az ügyfeleink használnak.
- A hozzászóláshoz be kell jelentkezni
És aki telepíti?
- A hozzászóláshoz be kell jelentkezni
Ügyfél.
- A hozzászóláshoz be kell jelentkezni
verzioszamot modositasz, majd post-installban hold-ra rakod nem jatszik?
- A hozzászóláshoz be kell jelentkezni
Nem. Ez sajnos nem megoldás. Mindenféleképpen a csomagot kell átneveznem. Lesz még PostgreSQL, és egy csomó kisebb lib is, a MySQL csak az első és így első ránézésre meg lehet mondani, hogy mi az ami tőlünk van telepítve és mi az ami nem.
Az a cél, hogy a rendszer azt higgye a prefix-libmysqlclient15off csomagról, hogy az teljes mértékben megfelel a libmysqlclient15off csomagnak a függőségek szempontjából. Ha ez menne, akkor minden szép és jó lenne, a madarak dalolnának és a nap is kisütne, de ahogy kinézek az ablakon a madarak jéggé fagyva hullanak a fáról és a nap már csak egy ködös emlékképpe halványult...
- A hozzászóláshoz be kell jelentkezni
sosem keszitettem csomagot, igy nem tudom hasznalhato-e ez neked, de deb-control manualja szerint letezik ilyesmi:
Provides:
Ez egy e csomag által adott virtuális csomaglista. Általában eltérõ csomagok által nyújtott hasonló szolgáltatás esetén használt. Például a sendmail és exim levelezõ-kiszolgálók, így egy általános csomagot adnak (`mail-transport-agent'), melytõl más csomagok függhetnek. Így a sendmail vagy exim érvényes függõségként szolgálhat. Így a csomagoknak nem kell ismerniük az összes levelezõ-kiszolgálót egy `|'-kkal elválasztott listában.
- A hozzászóláshoz be kell jelentkezni
Esetleg egy jó magas verziójú (9.99), de üres mysql csomag?
- A hozzászóláshoz be kell jelentkezni
Nem, sajnos ez sem megoldás, lásd fentebb...
Biztos meg lehet csinálni ezt a csomag átnevezést valahogy...
- A hozzászóláshoz be kell jelentkezni
Elbandi alább kicsit részletesebben leírta a megoldást.
Nem értem ez miért ne lenne jó.
- A hozzászóláshoz be kell jelentkezni
Renaming a Package
csinalj egy dummy old-package csomagot, amire dependel az uj csomag (old-package=1.2-1, egyenloseg fontos!). tehat a "regi" dummy szukseges az uj csomaghoz.
tedd fel mindkettot. ha frissulni akar az old-package, akkor nemfog, mert a regi csomagot nemfogja lecserelni, mert dependel az uj csomag ra. viszont mivel fennvan a regi nevu "dummy" csomag is, a tobbi program nemfog reklamalni.
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Köszi elolvastam. Meg is értettem remélem. :-) Az a gondom, hogy a meglévő mysqlclient15off csomagnak is telepíthetőnek kell maradnia. Azaz én nem teljesen át akarom nevezni a csomagot, hanem csak helyettest szeretnék neki kreálni.
A leírásban van egy ilyen:
Package: newPkg
Provides: oldPkg
Replaces: oldPkg (<< 2.0-1)
Conflicts: oldPkg (<< 2.0-1)
Én is így próbáltam, de nem működött:
Package: dvrt-libmysqlclient15off
Conflicts: libmysqlclient15, libmysqlclient15off
Replaces: libmysqlclient15, libmysqlclient15off
Provides: libmysqlclient15off
Ezt az eredményt kaptam:
server01-vz16:~/packages/mysql/5.0/work/mysql-dfsg-5.0-5.0.32# apt-get install libdbd-mysql-perl dvrt-libmysqlclient15off
Reading package lists... Done
Building dependency tree... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libdbd-mysql-perl: Depends: libmysqlclient15off (>= 5.0.24-2)
E: Broken packages
A leírás alapján a dvrt-libmysqlclient15off csomagnak meg kellenne felelnie a libmysqlclient15off csomagnak a függőségek feloldásakor, de mégsem teszi ezt. Miért?
- A hozzászóláshoz be kell jelentkezni