Lokaal .deb repository

Pagina: 1
Acties:

  • Drgn
  • Registratie: Februari 2004
  • Niet online
Ik ben een beetje aan het klooien met het opzetten van een lokaal repository in Ubuntu om van bepaalde programma's wat meer up-to-date versies te kunnen toevoegen via apt. Daarvoor wil ik om te beginnen graag een .deb maken van de source van Filezilla3.

Echter, ./configure loopt vast op libgnutls. De standaard Ubuntu repo's bevatten versie 1.6.3, maar ik heb versie >2.0.4 nodig. Dus ik dacht: "Neem ik ipv Filezilla, gnutls als uitgangspunt om een .deb te genereren".

Dat werkt half; mbv checkinstall (dus ./configure, make en dan ipv make install, checkinstall) genereer ik een .deb. Op de locatie van de .deb (waar ik dus m'n repository wilde vormen) genereer ik nog een Package.gz bestand dmv:
sudo dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

Die locatie voeg ik toe aan m'n sources.list, en na een apt-get update kan ik m'n nieuwe gnutls installeren. Echter, de nieuwe versie wordt niet gezien als vervanging van de oude versie; ik krijg nu namelijk bij ./configure van Filezilla de volgende melding:

checking for libgnutls-config... /usr/local/bin/libgnutls-config
checking for libgnutls - version >= 2.0.4... 
*** 'libgnutls-config --version' returned 2.0.4, but LIBGNUTLS (1.6.3)
*** was found! If libgnutls-config was correct, then it is best
*** to remove the old version of LIBGNUTLS. You may also be able to fix the error
*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing
*** /etc/ld.so.conf. Make sure you have run ldconfig if that is
*** required on your system.
*** If libgnutls-config was wrong, set the environment variable LIBGNUTLS_CONFIG
*** to point to the correct copy of libgnutls-config, and remove the file config.cache
*** before re-running configure
configure: error:
***
*** libgnutls 2.0.4 or greater was not found. You may want to get it from
*** ftp://ftp.gnutls.org/pub/gnutls/


De gesuggereerde opties werken niet echt. Op internet wordt sowieso afgeraden om LD_LIBRARY_PATH aan te passen, dus ik heb me daar verder ook niet in verdiept. Deïnstalleren van de oude lib is geen optie omdat een dergelijke de-installatie een hele zwik aan programma's meeneemt die libgnutls als dependency hebben en het wordt me maar niet duidelijk wat ik aan /etc/ld.so.conf zou moeten toevoegen (/usr/bin/gnutls.conf werkt iig niet).

Maar eigenlijk is dat ook allemaal niet wat ik wil. Ik wil graag dat mijn repository bestanden die van oorsprong uit andere repositories komen gaat updaten. Hoe krijg ik dat nou op een degelijke manier voor elkaar?

[ Voor 0% gewijzigd door Drgn op 11-04-2008 00:06 . Reden: Met het dev pachage werkt de verwijzing wel ]

Leave the gun, get the canoli


  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 30-01 01:49

Sprite_tm

Semi-Chinees

Misschien obvious, maar in Debian zijn veel packages gesplitst in de libxxx-variant voor de binaries, en libxxx-dev voor de development headers e.d. Als dat hier ook zo is, heb je de gnutls-dev-package wel geinstalleerd?

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Drgn
  • Registratie: Februari 2004
  • Niet online
Dat wist ik wel, maar ik heb er niet bij stil gestaan. Ik heb de 1.6.3-dev versie desondanks wel geïnstalleerd staan, maar die zou ik misschien moeten proberen te upgraden.
Op de site van gnutls (gnutls.org) wordt het me echter niet duidelijk. Er is wel een 'devel' branch, maar dat lijkt meer een ontwikkeltak van het pakket dan dat het echt om de ontwikkeltools gaat. Of is er effectief geen verschil?

edit; Jeej, het werkt :)

@phobosdeimos
Het klooien an sich is ook wat waard natuurlijk.

[ Voor 12% gewijzigd door Drgn op 11-04-2008 00:04 ]

Leave the gun, get the canoli


  • phobosdeimos
  • Registratie: Augustus 2007
  • Laatst online: 30-01 18:11
Wat je nu probeert te doen is dus een heel dom idee.
Je gaat zelf vanalle dingen vanuit source compileren.
Terwijl het gaat om software die heel netjes en mooi in de debian of ubuntu repo's te krijgen is.
De kans dat jij een beter package kan bouwen dan de debian developers is echt miniem.
Bovendien krijg je dan een situatie van dependency hell, waar je handmatig vanalle libs en headers moet gaan nalopen en compileren/installeren.
Nog maar niet te spreken over security updates en dergelijke.
Gebruik dus maar gewoon lekker de officiële packages, tenzij het niet anders kan.
Als je van alles de allernieuwste versie wil hebben draai je Debian sid, of Ubuntu Hardy beta's.
Of je gebruikt backports.

[ Voor 8% gewijzigd door phobosdeimos op 10-04-2008 23:34 ]


  • Sir Isaac
  • Registratie: September 2002
  • Laatst online: 21-05-2025
Je kunt wel degelijk even goede packages maken als de debian packagers. Neem gewoon het bestaande package (apt-get source <package>), kopieer de debian dir naar je eigen source, pas die aan (changelog, evt patches verwijderen, versie informatie), en run debuild. Zo gebruik de control file e.d. van de officiele packages, maar kun je wel een recenter package maken.
De debian new packagers documentatie is erg interessant.