Kirjoittaja Aihe: Itse käännetyt paketit ja /etc/apt/preferences  (Luettu 3509 kertaa)

mk1970

  • Käyttäjä
  • Viestejä: 213
    • Profiili
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

Koodia: [Valitse]
deb-src http://e-tobi.net/vdr-experimental etch base addons vdr-multipatch
Lisäksi /etc/apt/preferences sisältää

Koodia: [Valitse]
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:

Koodia: [Valitse]
# 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...

Koodia: [Valitse]
# 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?

Asmo Koskinen

  • Käyttäjä
  • Viestejä: 4443
    • Profiili
Vs: Itse käännetyt paketit ja /etc/apt/preferences
« Vastaus #1 : 20.11.07 - klo:14.09 »
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.

mk1970

  • Käyttäjä
  • Viestejä: 213
    • Profiili
Vs: Itse käännetyt paketit ja /etc/apt/preferences
« Vastaus #2 : 20.11.07 - klo:14.15 »
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".

Asmo Koskinen

  • Käyttäjä
  • Viestejä: 4443
    • Profiili
Vs: Itse käännetyt paketit ja /etc/apt/preferences
« Vastaus #3 : 20.11.07 - klo:14.29 »
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.

Asmo Koskinen

  • Käyttäjä
  • Viestejä: 4443
    • Profiili
Vs: Itse käännetyt paketit ja /etc/apt/preferences
« Vastaus #4 : 20.11.07 - klo:14.44 »
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.

mk1970

  • Käyttäjä
  • Viestejä: 213
    • Profiili
Vs: Itse käännetyt paketit ja /etc/apt/preferences
« Vastaus #5 : 21.11.07 - klo:10.29 »
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".

mk1970

  • Käyttäjä
  • Viestejä: 213
    • Profiili
Vs: Itse käännetyt paketit ja /etc/apt/preferences
« Vastaus #6 : 21.11.07 - klo:11.22 »
Yksi tapa on lisätä jokaiselle itse käännetylle paketille /etc/apt/preferences-tiedostoon

Koodia: [Valitse]
Package: <paketti>
Pin: release a=now
Pin-Priority: 1001