Pagina 1 di 1
Creare pacchetti da normal user e makepkg in generale
Inviato: mer 16 set 2009, 22:39
da raffaele181188
Attualmente per creare pacchetti tramite makepkg bisogna essere root. Penso che il motivo sia che il tool ripristina i permessi e la proprietà a root:root. Questo è un difetto piuttosto grave

Si consiglia sempre di fare le cose da normal user e poi, proprio quando si arriva alle cose delicate e potenzialmente distruttive (come lanciare uno SlackBuild) bisogna essere root..

Premesso che tanto lavoro con una macchina virtuale (ma un errore disastroso mi seccherebbe, non sono bravo con la shell e di sicuro un rm -rf / ci scappa prima o poi

) esiste un modo per creare pacchetti senza essere root?
Giusto per fare un esempio, ho dato
e mi ha creato un /.tgz.tgz

Preferivo che mi dava un errore... E comunque, se non fossi stato root, questo non poteva succedere
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: gio 17 set 2009, 11:27
da conraid
intanto per evitare errori disastrosi meglio mettere set -e ad ogni slackbuild, lo so che molti non condividono questa cosa, ma io trovarmi con un chmod root:root in qualche directory sbagliata perché per qualche motivo qualche comando è andato storto non mi piace
per il resto prova fakeroot, una volta lessi in qualche wiki, o forse su LQ, un modo per farlo, ma non lo trovo e non lo ricordo bene
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: gio 17 set 2009, 11:32
da conraid
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: gio 17 set 2009, 11:32
da 414N
raffaele181188 ha scritto:
Premesso che tanto lavoro con una macchina virtuale (ma un errore disastroso mi seccherebbe, non sono bravo con la shell e di sicuro un rm -rf / ci scappa prima o poi
Puoi anche fartelo scappare, tanto rm ti tira uno "smataflone"

se ci provi (guarda l'opzione --preserve-root nella man page di rm).
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: gio 17 set 2009, 11:38
da raffaele181188
Grazie Conraid.. Ora studio un po'

Solo per curiosità, la sintassi NOMEVARIABILE=${NOMEVARIABILE:-Qualsiasi carattere può andare qui o valgono le regole solite dell'espansione?} chi me la spiega? Semplicemente un modo di "quotare" una stringa?
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: gio 17 set 2009, 11:40
da conraid
raffaele181188 ha scritto:Grazie Conraid.. Ora studio un po'

Solo per curiosità, la sintassi NOMEVARIABILE=${NOMEVARIABILE:-Qualsiasi carattere può andare qui o valgono le regole solite dell'espansione?} chi me la spiega? Semplicemente un modo di "quotare" una stringa?
serve per dare un parametro da linea di comando, per esempio se ho
se lancio lo slackbuild normalmente compila per 686, ma senza modificarlo posso fare
e mi compila per x86_64
in pratica dice che se non è già dichiarata una variabile con quel nome prende il valore dopo :-
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: gio 17 set 2009, 11:43
da conraid
mi sa che hai chiesto un'altra cosa
puoi anche mettere
per esempio
io uso molto notazioni simili
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: gio 17 set 2009, 12:20
da raffaele181188
Nono, avevi risposto correttamente alla mia domanda già nel primo post

Il secondo invece non mi è chiaro:
è semplicemente un altro modo di scrivere
in pratica sostituendo = con :-

Ho fatto uno scriptino per provare e mi sembra che non cambi niente
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: gio 17 set 2009, 12:24
da conraid
raffaele181188 ha scritto:Nono, avevi risposto correttamente alla mia domanda già nel primo post

Il secondo invece non mi è chiaro:
è semplicemente un altro modo di scrivere
in pratica sostituendo = con :-

Ho fatto uno scriptino per provare e mi sembra che non cambi niente
sì, anche se senza : è un po' diverso, ci sono anche altre forme
http://www.pluto.it/files/ildp/guide/ab ... ution.html
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: lun 21 set 2009, 12:01
da raffaele181188
Ho testato fakeroot e funziona senza creare nessun tipo di problema, seguendo il link che mi hai postato. Il passaggio chiave è questo (lo riporto per chi volesse leggerlo)
Codice: Seleziona tutto
# Root stuffs: Change ownership and make package
mkdir -p $OUTDIR 2> /dev/null
echo "
chown -R root:root $BIN
(
cd $BIN
/sbin/makepkg -l y -c n $OUTDIR/$NAME-$VERSION-$ARCH-$BUILD$TAG.$EXT
) " | fakeroot
Ovviamente bisogna avere fakeroot installato. Ora sono al sicuro da catastrofi varie

Re: Creare pacchetti da normal user e makepkg in generale
Inviato: lun 21 set 2009, 12:12
da conraid
raffaele181188 ha scritto:
Ovviamente bisogna avere fakeroot installato. Ora sono al sicuro da catastrofi varie

però non farci i pacchetti per slacky in questo modo, i build di slacky devono essere fatti senza fakeroot
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: lun 21 set 2009, 12:31
da raffaele181188
Ah, ecco, non ho fatto in tempo a leggere la tua risposta che avevo proprio aperto un thread nel forum Pacchettizzatori

Per ora pacchetti non ne ho uppati
Re: Creare pacchetti da normal user e makepkg in generale
Inviato: sab 3 ott 2009, 20:49
da Calzo
raffaele181188 ha scritto:e mi ha creato un /.tgz.tgz

Questo errore te lo da perchè le opzioni le devi scrivere staccate:
bye