Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: mk1970 - 20.11.07 - klo:12.50
-
Olen kääntämässä VDR-koneeseeni (Ubuntu 7.10) paketteja e-tobi.net:n lähdekoodipaketteista eli /etc/apt/sources.list:n lopussa on
deb-src http://e-tobi.net/vdr-experimental etch base addons vdr-multipatch
Lisäksi /etc/apt/preferences sisältää
Package: *
Pin: release o=e-tobi.net
Pin-Priority: 1001
Package: *
Pin: release a=gutsy
Pin-Priority: 600
Olen pakettien kääntämisen yhteydessä lisännyt "Origin: e-tobi.net" kaikkiin VDR-paketteihin (eli */debian/control-tiedostoon) ja tulos on esimerkiksi tälläinen:
# dpkg-deb -I xineliboutput-fbfe_1.0.0~rc2-2etch2_i386.deb | grep Origin:
Origin: e-tobi.net
Nyt jos katson mitä päivityksiä on saatavilla niin apt-get ehdottelee päivittämistä virallisiin Ubuntu-versioihin eli aivan kuin /etc/apt/preferences-tiedostoa ei huomioitaisi...
# apt-cache policy xineliboutput-fbfe
xineliboutput-fbfe:
Installed: 1.0.0~rc2-2etch2
Candidate: 1.0.0~rc2-3
Version table:
1.0.0~rc2-3 0
600 http://fi.archive.ubuntu.com gutsy/universe Packages
*** 1.0.0~rc2-2etch2 0
100 /var/lib/dpkg/status
# sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
libxine-xvdr libxineliboutput-fbfe libxineliboutput-sxfe
vdr-plugin-xineliboutput xineliboutput-fbfe xineliboutput-sxfe
6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 318kB/476kB of archives.
After unpacking 0B of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://fi.archive.ubuntu.com gutsy/universe xineliboutput-fbfe 1.0.0~rc2-3 [39.2kB]
Siis onhan "1.0.0~rc2-3" uudempi kuin "1.0.0~rc2-2etch2" mutta kun en halua päivittää itse käännettyvä paketteja jotka on käännetty e-tobi.net:n lähdekoodipaketeista. Mitä teen väärin kun itse tekemäni paketin prioriteetti on vain 100 eikä 1001?
-
Siis onhan "1.0.0~rc2-3" uudempi kuin "1.0.0~rc2-2etch2" mutta kun en halua päivittää itse käännettyvä paketteja jotka on käännetty e-tobi.net:n lähdekoodipaketeista.
Voisi onnistua näin:
http://www.arkki.info/howto/Aptitude_Hold.png
Laitat sen oman pakettisi Aptitude-ohjelmalla (ei vaadi X:ää) pitoon, jolloin sitä ei päivitetä. Ctrl-T avaa alasvetovalikot, joissa voit liikkua nuolinäppäimillä. En nyt ihan tiedä/muista mitä eroa Keep- ja Hold-optioilla on, mutta löydät Googlella vastauksen helposti.
Ystävällisin terveisin Asmo Koskinen.
-
Tiedän kyllä tuon hold-toiminnon mutta kun olisi kiva tietää miksi preferences-tiedosto ei toimi kuten kuvittelin. Ja saattaahan olla että myöhemmin pistän pystyy sukulaisille oman repon jossa on nuo VDR-jutut ja haluan kuitenkin päivittää noita paketteja mutta vain jos niiden Origin on tuo haluttu "e-tobi.net".
-
Tiedän kyllä tuon hold-toiminnon mutta kun olisi kiva tietää miksi preferences-tiedosto ei toimi kuten kuvittelin.
Mistään mitään taaskaan tiedä, mutta...
man apt_preferences
Package: *
Pin: origin ""
Pin-Priority: 999
Sinulla on...
Package: *
Pin: release o=e-tobi.net
Pin-Priority: 1001
Mitä jos laitat...
Package: *
Pin: origin "e-tobi.net"
Pin-Priority: 999
Ystävällisin terveisin Asmo Koskinen.
-
Package: *
Pin: origin "e-tobi.net"
Pin-Priority: 999
Taitaa olla niin, että sen prioriteetin on hyvä olla 1001. Entä "origin" vs. "release".
"P > 1000
causes a version to be installed even if this constitutes a downgrade of the package"
" For example, suppose the APT preferences file contains the three records presented earlier:
Package: perl
Pin: version 5.8*
Pin-Priority: 1001
Package: *
Pin: origin ""
Pin-Priority: 999
Package: *
Pin: release unstable
Pin-Priority: 50
Then:
· The most recent available version of the perl package will be installed, so long as that version’s version
number begins with "5.8". If any 5.8* version of perl is available and the installed version is 5.9*, then
perl will be downgraded.
· A version of any package other than perl that is available from the local system has priority over other
versions, even versions belonging to the target release.
· A version of a package whose origin is not the local system but some other site listed in sources.list(5) and
which belongs to an unstable distribution is only installed if it is selected for installation and no version
of the package is already installed."
Riittääkö tuossa pelkkä ""?
Ystävällisin terveisin Asmo Koskinen.
-
Pakko käyttää holdia koska "yksittäisten pakettien debian/control-tiedostoja ei käsittääkseni huomioida, vaan "Pin: release" viittaa repositoryn Release-tiedoston sisältöön".
-
Yksi tapa on lisätä jokaiselle itse käännetylle paketille /etc/apt/preferences-tiedostoon
Package: <paketti>
Pin: release a=now
Pin-Priority: 1001