Creare un pacchetto deb contenente script personali: differenze tra le versioni

+ aggiunte a "Workaround"
(+ paragrafo "Workaround")
(+ aggiunte a "Workaround")
Riga 104: Riga 104:
Description: Questo pacchetto contiene gli script di s3v
Description: Questo pacchetto contiene gli script di s3v
</pre>
</pre>
La sezione scelta è "misc" e l'architettura "all" (poiché il pacchetto contiene script che girano sotto Bash e non dipendono dall'architettura); inoltre è stata inserita una breve descrizione e tolte le [[dipendenze]].<br/>
La sezione scelta è "misc" e l'architettura "all" (poiché il pacchetto contiene script che e non dipendono dall'architettura); inoltre è stata inserita una breve descrizione e tolte le [[dipendenze]].<br/>
La scelta di togliere le dipendenze comporta l'installazione dei pacchetti necessari al funzionamento degli script, installazione che non avviene automaticamente. Quindi vi sono due strade:
La scelta di togliere le dipendenze comporta l'installazione dei pacchetti necessari al funzionamento degli script, installazione che non avviene automaticamente. Quindi vi sono due strade:
# Non si inseriscono le dipendenze e si installano separatamente i pacchetti necessari. Ad esempio uno script potrebbe fare uso di ''wget'' contenuto nel pacchetto omonimo e che dovrà essere installato in un secondo momento.
# Non si inseriscono le dipendenze e si installano separatamente i pacchetti necessari. Ad esempio uno script potrebbe fare uso di ''wget'' contenuto nel pacchetto omonimo e che dovrà essere installato in un secondo momento.
Riga 307: Riga 307:
<pre>
<pre>
override_dh_usrlocal:
override_dh_usrlocal:
</pre>
Nel caso si voglia anche impostare automaticamente i permessi degli script, aggiungere:
<pre>
override_dh_usrlocal:
override_dh_fixperms:
        dh_fixperms
        chmod 0755 debian/imieiscript/usr/local/bin/imieiscript/*
</pre>
</pre>


Riga 385: Riga 393:
Il precedente metodo può essere efficace per installazioni su una singola macchina e, in ogni caso, i permessi andrebbero periodicamente controllati per adattare il file "postrm". Su molte macchine questo è assolutamente impraticabile.
Il precedente metodo può essere efficace per installazioni su una singola macchina e, in ogni caso, i permessi andrebbero periodicamente controllati per adattare il file "postrm". Su molte macchine questo è assolutamente impraticabile.


Un possibile workaround consiste nel creare un file all'interno della directory "/usr/local/bin" in modo tale da impedirne la cancellazione (se vuota). Questo file (il cui nome dovrebbe essere significativo, ad esempio "imieiscript.readme") va creato utilizzando il file "preinst" (o "postinst") e rimosso alla disinstallazione del pacchetto attraverso il file "postrm".
Un possibile workaround consiste nel creare un file all'interno della directory "/usr/local/bin" in modo tale da impedirne la cancellazione (se vuota). Questo file (il cui nome dovrebbe essere significativo, ad esempio "imieiscript.readme") va creato utilizzando il file "preinst" (o "postinst") e rimosso alla disinstallazione del pacchetto attraverso il file "postrm".<br/>
 
Ad esempio:
'''postinst'''
<pre>
echo "-- ATTENZIONE --
Questo file viene creato dal pacchetto imieiscript
per evitare la cancellazione della directory
/usr/local/bin (se vuota) durante la sua disinstallazione.
Non rimuovere manualmente!!!" > /usr/local/bin/imieiscript.readme
</pre>
'''postrm'''
<pre>
if [ -f /usr/local/bin/imieiscript.readme ]; then
rm /usr/local/bin/imieiscript.readme
fi
</pre>
La situazione di file e directory dovrebbe essere simile a:
<pre>
pacchetti/
      └-- imieiscript-1.0/
                      ├-- debian/
                      |      ├-- changelog
                      |      ├-- copyright
                      |      ├-- compat
                      |      ├-- control
                      |      ├-- install
                      |      ├-- rules
                      |      ├-- preinst
                      |      ├-- postinst
                      |      └-- postrm
                      |
                      └-- script/
                              ├-- script1
                              ├-- script2
                              └-- script3
</pre>


{{Autori
{{Autori
6 999

contributi