30 januari 2007

Deb is kreupel

Debian en Ubuntu lopen niet altijd met alle pakketten helemaal synchroon. Zo komt het nogal eens voor dat ik een nieuwere versie van een programmaatje van de Debian repo's pluk omdat deze in Ubuntu nog niet te vinden is. Helaas zijn deze debjes dan gebouwd in een omgeving die niet compatible lijkt te zijn met m'n Ubuntu systeempje. Eigenlijk heb je dit probleem vaak zelfs al wanneer je een pakketje uit een nieuwere versie van Ubuntu wilt halen om die te installeren op je eigen oudere Ubuntu; omdat het pakket gebouwd is in een nieuwere omgeving gaat het ervan uit dat het minstens de versies van pakketten in de nieuwere omgeving nodig heeft.

Nu is het dus vaak zo dat deze nieuwere pakketten helemaal niet nodig zijn. Download je de deb-source en bouw je het pakket zelf in je eigen omgeving dan krijg je een pakket met dependencies die je al op je eigen systeem hebt staan. Geen enkel probleem meer, geen nieuwere versies van 300 extra pakketten meer nodig.

Mijn voorlopige conclusie: het deb systeem is wat roestig aan het worden. Om de pakketten zo universeel mogelijk te maken lijkt het mij verstandiger om de dependencies automatisch op de laagst mogelijke versie te zetten. Misschien is dit wel een heel naïef idee; ik heb weinig tot geen verstand van de internals van deb pakketten, maar zou iemand me dan uit kunnen leggen waarom dit zo is of is het toch iets waar misschien eens naar gekeken moet worden?

Reacties:

Anonymous Anoniem had het volgende te zeggen:

Het heeft niet alleen met versies van de packages te maken. Je kan elk programma wel "universeel" maken voor elke linux distributie als je hem static compiled. Normaal echter maak je gebruik van shared libraries. Als een library gewijzigd wordt moet vaak ook de programmatuur die er gebruik van maakt aangepast worden.

Hierdoor duren bijvoorbeeld ook firefox updates vrij lang, omdat veel programmatuur die gecko engine gebruikt, als je dan alleen firefox vervangt is alles gelijk stuk.

Als je hem van source compileerd gaat het meestal wel goed tenzij funtionaliteit ontbreekt of de api anders is.

Heeft verder niks met "deb" te maken. Wel eens gehoord van rpm hell? =)

dinsdag, januari 30, 2007 9:36:00 p.m.  
Anonymous Anoniem had het volgende te zeggen:

RPM hell is het fenomeen waarbij je niet vooraf (zoals bij .deb) maar pas achteraf merkt dat het niet meer werkt...? ;-)

dinsdag, januari 30, 2007 9:56:00 p.m.  
Blogger Patrick had het volgende te zeggen:

Duidelijk! Ik heb het er ook al met iemand anders over gehad; die shared libs doen het hem inderdaad. Ik blijf van mening dat het mogelijk moet zijn iets beter de oudst mogelijke library interfaces aan te geven bij het bouwen van een pakket, maar ik begrijp ook dat dit erg veel extra werk op kan leveren voor degene die het pakket maakt. Altijd jammer die compromissen tussen perfectie en tijd overhouden voor andere nuttige dingen ;)

dinsdag, januari 30, 2007 10:04:00 p.m.  
Anonymous Anoniem had het volgende te zeggen:

Patrick: het is perfect mogelijk om die dependencies op een zo laag mogelijke versie te zetten, meer zelfs, de packager hoort dat ook te doen.

Maar dan kan je de sexy nieuwere mogelijkheden natuurlijk niet gebruiken... ;-)

donderdag, maart 01, 2007 6:02:00 p.m.  
Anonymous Anoniem had het volgende te zeggen:

hoi
bent u op zoek naar een makkelijke manier om geld te verdienen?
zoek dan niet verder
http://www.nurijk.nl
De Theorie!!!

dinsdag, juni 12, 2007 9:37:00 a.m.  

Plaats ook een reactie

<< Terug naar de hoofdpagina