nopkgtool

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
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.
Rispondi
Avatar utente
netico
Linux 0.x
Linux 0.x
Messaggi: 4
Iscritto il: ven 5 feb 2010, 18:11
Desktop: Xfce

nopkgtool

Messaggio da netico »

Ciao a tutti,

allego un semplice script bash per automatizzare l'installazione di pacchetti tramite SlackBuild.
Al momento usa solamente gli script SB forniti direttamente da slackbuilds.org
L'uso è banale:

# nopkgtool opera
Allegati
nopkgtool.txt
netico's own pkgtool
(1.98 KiB) Scaricato 80 volte

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: nopkgtool

Messaggio da conraid »


Avatar utente
netico
Linux 0.x
Linux 0.x
Messaggi: 4
Iscritto il: ven 5 feb 2010, 18:11
Desktop: Xfce

Re: nopkgtool

Messaggio da netico »

Immaginavo esistessero già tool simili...
Imho il mio script applica meglio l'approccio KISS.
Infatti chiede all'amministratore di sistema di ricordarsi solamente cosa vuole installare :-)
Onestamente non penso si tratti di operazioni che necessitano davvero di un tool con una conf e un tot di opzioni da ricordare (vedi manpage di sbopkg).

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: nopkgtool

Messaggio da conraid »

non volevo "criticare" il tuo script, che non ho nemmeno visto, ma segnalarti, se non lo conoscevi già, un tool che all'inizio era simile a quel che dici tu, e poi si è ampliato
magari anche tu volevi fare la stessa cosa, tutto qui :-)

Avatar utente
netico
Linux 0.x
Linux 0.x
Messaggi: 4
Iscritto il: ven 5 feb 2010, 18:11
Desktop: Xfce

Re: nopkgtool

Messaggio da netico »

Hai ragione, mi sono dimenticato di ringraziarti per la segnalazione.
Ovviamente sarebbero benvenute financo le critiche, se mai dovessi trovare il tempo di esaminare lo script :-)

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: nopkgtool

Messaggio da conraid »

Non sono così "esperto" da darti qualche sottigliezza, per questo ci sono utenti più esperti
le prime cose che mi vengono in mente dando una veloce occhiata
1) io cercherei di parametrizzarlo tramite variabili, e non a runtime. Mi spiego, la versione falla mettere all'utente, magari con il classico metodo di rendere la variabile modificabile da linea di comando, insomma invece di

Codice: Seleziona tutto

SLACKV=$(cat /etc/slackware-version | sed s/"Slackware "//g | cut -c 1-4)
metterei

Codice: Seleziona tutto

SLACKV=${SLACKV:-13.0}
e così anche per i percorsi dei binari e degli script (rsync, wget, etc...)

2) nel ciclo finale prima prenderei una variabile e poi farei il ciclo, quotando la variabile. Es.

Codice: Seleziona tutto

for DIR in $(find "$SBHOME/$SLACKV/" -type d -iname "*$1*"); do
fallo diventare qualcosa come

Codice: Seleziona tutto

PKGDIR= $(find "$SBHOME/$SLACKV/" -type d -iname "*$1*")
for DIR in "$PKGDIR" do
anche se non ho capito bene quel ciclo, se tu come nell'esempio che hai fatto metti opera, lui ti fa i pkg di opera, myopera, operamy, etc... perché questo comportamento?

3) mettere sempre il fine riga in fondo al file, se usi un editor che non lo fa (vim lo fa) vai a capo
guarda lo script con cat e capisci cosa intendo

Avatar utente
netico
Linux 0.x
Linux 0.x
Messaggi: 4
Iscritto il: ven 5 feb 2010, 18:11
Desktop: Xfce

Re: nopkgtool

Messaggio da netico »

Ad esempio, tutti i pacchetti che contegono 'apache' nel nome sono considerati candidati:

Codice: Seleziona tutto

apache-ant
Apache Ant is a Java-based build tool - like make, but without make's
wrinkles.  :-)

Ant is extended using Java classes. The configuration files are XML- based,
calling out a target tree where tasks get executed. Each task is run by an
object that implements a Task interface.

1. Build package apache-ant
2. Build and install package apache-ant
3. Quit
4. Do nothing

Enter your choice [1-4] 4

apache-maven
Maven is a software project management and comprehension tool.
Based on the concept of a Project Object Model (POM), Maven can
manage a project's build, reporting and documentation from a
central piece of information.
1. Build package apache-maven
2. Build and install package apache-maven
3. Quit
4. Do nothing

Enter your choice [1-4] 4

apache-ivy
apache-ivy (apache-ant dependency manager)

Ivy is a library/tool for managing (recording, tracking, resolving and
reporting) project dependencies.

You can pass an alternate vlalue for ANT_HOME if it is not set to
/usr/share/ant on your system.

This package includes documention and example-src.zip in the standard
documentation directory.

1. Build package apache-ivy
2. Build and install package apache-ivy
3. Quit
4. Do nothing
Etc etc. Questo permette di installare il package senza saperne il nome esatto (apache-ant o ant?).
Comodo anche per avere una panoramica delle applicazioni gtk installabili, ad esempio,

Codice: Seleziona tutto

nopkgtool gtk
oppure relativi a una data tecnologia

Codice: Seleziona tutto

nopkgtool xml
o linguaggio

Codice: Seleziona tutto

nopkgtool py
Fondamentalmente, il punto principale è che si tratta di un tool pensato per il neofita. Quindi ho pensato, come dicevo nel post precedente, di "metterla giù semplice", evitando conf, opzioni da linea di comando, etc.
Tuttavia ci sono, imho, degli aspetti interessanti (comuni a sbopkg), ad esempio quello di mostrare al suddetto neofita come "ragiona" un sistema unix-like quando si parla di installazione del software (compilazione da sorgente, dipendenze, etc).
Mi piacerebbe aggiungere allo script anche pkgsrc (di NetBSD), con tutto il software reso disponibile da quest'ultimo...
Con altertrack e altri tool non dovrebbe essere impossibile ottenere un package per Slackware partendo dai sorgenti forniti da pkgsrc... :-k

Rispondi