removepkg e link simbolici orfani

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
erio
Linux 4.x
Linux 4.x
Messaggi: 1193
Iscritto il: ven ott 09, 2009 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: removepkg e link simbolici orfani

Messaggioda erio » mar nov 01, 2016 22:38

premesso che uno slackbuild dei driver e' una cosa molto gradita,ho anche io una brother non laser ho usato rpm2tgz per creare il pacchetto che installa in /opt, i driver sono a 32 bit,io ho un sistema a 64 bit servono delle glib-solib multilib, cups-compact32,cups-filter-compact32,

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2900
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: removepkg e link simbolici orfani

Messaggioda joe » mar nov 01, 2016 22:49

Si io avevo usato rpm2cpio, ma alla fine la sostanza non cambia.
Avevo messo un topic ad hoc per discutere l'installazione della stampante.
viewtopic.php?f=6&t=38867

Già col pacchetto che ho preparato adesso funziona tutto, anche a me sono serviti tre pacchetti multilib presi da alienbob (vedi altra discussione per i dettagli).
Quà però si voleva discutere un più in generale la gestione di un caso tipo questo secondo lo stile slackware.
Grazie comunque per il contributo ;)

erio
Linux 4.x
Linux 4.x
Messaggi: 1193
Iscritto il: ven ott 09, 2009 19:25
Slackware: 13.37
Kernel: 3.0.7
Desktop: kde

Re: removepkg e link simbolici orfani

Messaggioda erio » mar nov 01, 2016 22:52

comunque lo script per creare il link a cups lo devi eseguire, credo.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6498
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: removepkg e link simbolici orfani

Messaggioda targzeta » mar nov 01, 2016 23:05

E allora devi fare due pacchetti, uno per 32 e l'altro per 64 bit. una directory lib64 sotto un sistema a 32 bit non è bellissima!

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2900
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: removepkg e link simbolici orfani

Messaggioda joe » mer nov 02, 2016 12:57

erio ha scritto:comunque lo script per creare il link a cups lo devi eseguire, credo.

Sì, in pratica, siccome eseguire uno script di terze parti da dentro uno Slackbuild non è una scelta aderente ad esempio alle linee guida di SBo, ho osservato le operazioni che quello script esegue e le ho trasferite direttamente nello slackbuild.
Ad esempio lo script conteneva degli here document che venivano scritti su due files necessari a CUPS: il PPD e il file LPD wrapper. Per evitare l'esecuzione dello script, lo slackbuild estrae quegli here document (ho usato "sed" per lo scopo) e scrive direttamente lui i due files richiesti.
Analogamente ho riprodotto le altre operazioni dello script nello slackbuild, poca roba, qualche cambio di permessi su alcuni files e appunto la creazione di quel link simbolico di cui si parlava, operazione quest'ultima da fare solo se esiste la directory "/usr/lib64/cups/filter".

Peccato che questa operazione condizionale non si possa eseguire in fase di installazione. Per i motivi che abbiamo detto nei post precedenti...
Tuttavia eseguirla in fase di build del pacchetto, porta sì alla necessità di creare due pacchetti diversi per diverse architetture, ma risolve il problema della presenza di CUPS prima dell'installazione.
Infatti se siamo su sistema a 64bit e installiamo il pacchetto creato specificatamente per sistemi a 64bit, anche se cups non fosse presente, il nostro link simbolico verrebbe creato regolarmente insieme alla sua directory madre e relativo percorso. In questo modo per far funzionare il driver basterebbe poi installare CUPS.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2900
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: removepkg e link simbolici orfani

Messaggioda joe » mer nov 02, 2016 13:01

targzeta ha scritto:E allora devi fare due pacchetti, uno per 32 e l'altro per 64 bit. una directory lib64 sotto un sistema a 32 bit non è bellissima!

Emanuele

Già... direi allora che questa conclusione è la più corretta.
Se a qualcuno venisse qualche altra idea benvenga.

PS.
Per ogni altro dettaglio relativo al pacchetto dei driver brother hl2030/2035 vi inviterei a scrivere nell'altro topic dedicato. Come ho detto qua si voleva discutere un problema più generico.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6498
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: removepkg e link simbolici orfani

Messaggioda targzeta » mer nov 02, 2016 18:33

Sì, ma i due pacchetti devono avere path diversi.

Per sistemi a 32bit:

Codice: Seleziona tutto

/usr/lib/cups/filter/brlpdwrapperHL2030
per sistemi a 64bit:

Codice: Seleziona tutto

/usr/lib64/cups/filter/brlpdwrapperHL2030

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2900
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: removepkg e link simbolici orfani

Messaggioda joe » mer nov 02, 2016 20:53

Sì, in realtà ho mantenuto lo schema dello script di brother, cioè viene creato il path lib64 solo se il build viene fatto su sistemi a 64 bit (si può forzare anche da sistemi a 32bit impostando la var ARCH: ARCH=x86_64 ./bother-hl2030.SlackBuild ad esempio)

Codice: Seleziona tutto

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i386 ;;
    arm*) ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
       *) ARCH=$( uname -m ) ;;
  esac
fi

[...]

# Create LPD-wrapper link for 64bit systems only
if [ "$ARCH" = "x86_64" ]; then
  mkdir -p $PKG/usr/lib64/cups/filter
  ln -sf /usr/lib/cups/filter/brlpdwrapperHL2030 $PKG/usr/lib64/cups/filter/brlpdwrapperHL2030
fi

In questo modo si può creare il pacchetto a 64bit col relativo link simbolico, oppure a 32bit senza quel path. Ti torna?
Comunque poi caricherò tutto il malloppo così se vuoi potrai visionare lo SlackBuild in completo, è molto semplice, niente di chè...

Una cosa che c'entra poco: questi drivers che di fatto contengono binari a 32bit potrebbero essere utilizzati anche su architettura ARM ? Intendo allo stesso modo di come li sto usando su un sistema a 64bit... Cioè esistono multilib per ARM analoghe a quelle per sistemi a 32bit?