Pagina 2 di 2

Re: [RISOLTO] problemi con la pacchettizzazione di linuxsampler

Inviato: mar 26 lug 2022, 13:55
da erio
ciao, ho visto adesso la mail e ti ringrazio,ma il forum e' questo, cercare di risolvere i problemi quando si presentano...o almeno tentare,slacky forum e' il destinatario se ti va di dare un apporto.

Re: [RISOLTO] problemi con la pacchettizzazione di linuxsampler

Inviato: gio 28 lug 2022, 18:23
da piccoloesploratore
:thumbright:

Re: [RISOLTO] problemi con la pacchettizzazione di linuxsampler

Inviato: mar 23 ago 2022, 18:30
da piccoloesploratore
COROLLARIO : MAKEPKG MANTENENDO GLI STESSI LINK DELLA INSTALLAZIONE DI DEFAULT (ma col pacchetto txz)
Poichè nel mio post di dom 17 lug 2022, 18:57, ho individuato le cause nell'aver fatto il txz con l'opzione --prefix del .configure, che indirizzava
alla directory che poi cancellavo, sono riuscito alla fine a costruire il pacchetto txz mantenendo i links originari come se l'avessi installato di default.
La scelta di farmi il pacchetto era perchè ogni sorgente di default installa le parti dove vuole lui: poi, se vuoi togliere,
devi fare tutto a mano, ripulire cercando nel sistema, è proprio uno sbatti e il tempo è sempre poco.
Ma col pacchetto ripulisci tutto in un attimo.
Inoltre optato per makepkg solo perchè lo slackbuild al momento non era ancora aggiornato alle ultime versioni dei sorgenti.

Quindi, dopo varie prove, ho scoperto come mantenere le stesse path come se lo installassi di default,
usando lo stesso la "miapropriadir" di appoggio per makepkg.
Chiaramente non bisogna fare uso della opzione --prefix=<propriadir> in fase di .configure, ma usare "export" prima del make install.
PRATICAMENTE:
  1. lancio

    Codice: Seleziona tutto

    .configure
    senza nessuna opzione
  2. poi il successivo

    Codice: Seleziona tutto

     make
  3. a questo punto, mi creo (posso anche avrela creata prima...) la dir di appoggio per makepkg

    Codice: Seleziona tutto

    mkdir /propriadir
  4. dopo di che lancio

    Codice: Seleziona tutto

    export DESTDIR=/propriadir && make install
Ebbene, a questo punto la libreria/programma verrà installata in /propriadir
SENZA CHE ESSA COMPAIA NELLE PATH DEI SUOI FILES COMPONENTI INTERNI
Quindi da lì si può lancare il makepkg, che farà il package con path e ubicazione files come di default dei sorgenti.

________________________________________________________________________________________________
***variante in caso non ci sia il .configure ma solo il cmake (in questo caso l'esempio è tratto da liblscp-0.9.6.tar.bz2)
  • fondamentale andarsi a leggere il readme delle istruzioni per costruire il pacchetto:
    in questo caso dice chiaramente di immettere il prefix per la path installazione di default (/usr/local),
    pertanto eseguo come prescritto:

    Codice: Seleziona tutto

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ -B build
  • segue il build, come da istruzioni:

    Codice: Seleziona tutto

    cmake --build build --parallel 1
    (ho messo --parallel 1: nelle istruzioni viene riportato [--parallel <Njobs>] ma non so cosa il numero jobs, per cui chi ne sa più di me può dare lumi...)
  • giunto qui rifaccio come dal punto 3 precedente, ovvero:
    mi creo (posso anche avrela creata prima...) la dir di appoggio per makepkg

    Codice: Seleziona tutto

    mkdir /propriadir
    cui segue, come sopra, stesso punto 4
  • Codice: Seleziona tutto

    export DESTDIR=/propriadir/
  • cambia solo il comando di installazione, che invece di essere il precedente "make install", diventa

    Codice: Seleziona tutto

    cmake --install build
    a questo punto entro in /propriadir e si procedo col makepkg, avendo provvedut ad inserire la dir "install" per lo slack-desc


Detto questo:
È CHIARO che in primis, bisogna usare gli slackbuilds: chi si impegna in questa strada lo fa a suo rischio.
Inoltre, è sempre utile prender nota di dove sono state installate le libreire di default, anche se con il txz,
in quanto magari qualche altro programma che le cerca, non le trova in fase di costruzione, quindi sempre meglio indicarle con

Codice: Seleziona tutto

 PKG_CONFIG_PATH=/path/della/libreria/
seguito dal

Codice: Seleziona tutto

.configure
Quel che ho scritto, l'ho fatto solo nel caso non ci sia uno slackbuild.
Supponendo di che novellini inesperti come me possano essercene in giro altri,
e non volendo far perder loro il tempo che ho perso io,
ho esposto in buona fede sperando che possa venire utile...
Molto discretamente, saluto tutti... ;)