Pagina 1 di 1
Pacchetti slackware
Inviato: lun 21 gen 2008, 18:44
da Dani
Mi servirebbero un po' di delucidazioni sui pacchetti slackware.
Considerando che il pacchetto è fatto da <nome>-<versione>-<arch>-<build>.tgz, volevo sapere:
- Oltre ai caratteri a-z, 0-9, _, -, +, . ce ne sono altri che possono apparire nel nome del pacchetto ?
- L'ultimo carattere del nome del pacchetto (il carattere che precede -<versione>), puo' essere diverso da a-z, 0-9, + ? In caso affermativo, quale puo' essere ?
- Il primo carattere della versione (il primo carattere consecutivo a <nome>-), puo' essere diverso da 0-9 ? In caso affermativo, quale puo' essere ?
Grazie !
Re: Pacchetti slackware
Inviato: lun 21 gen 2008, 19:29
da danix
da quello che ho capito (aspetto smentite in merito) dipende tutto da quello che tu definisci come nome nello slackbuild... il criterio è semplicemente $PROGRAM-$VERSION-$ARCH-$BUILD.tgz ma poi dipende dal pacchetto $PROGRAM può essere molte cose... e per un corretto funzionamento il valore di $PROGRAM deve trovarsi all'inizio di ogni rigo dello slack-desc affinchè venga visualizzato bene in fase di installazione...
Come ti ho già detto aspetto smentite in merito, ma sono abbastanza sicuro che sia così...
Ciau...
Re: Pacchetti slackware
Inviato: lun 21 gen 2008, 19:38
da Dani
danix85 ha scritto:da quello che ho capito (aspetto smentite in merito) dipende tutto da quello che tu definisci come nome nello slackbuild...
Nono, non è una questione di slackbuild ! Mi riferivo ai nomi dei programmi che si possono trovare nel repository !
Re: Pacchetti slackware
Inviato: lun 21 gen 2008, 20:48
da danix
non avevo capito, e ammetto di continuare ad avere poco chiara la tua domanda, comunque non credo ci siano limiti ai caratteri nel nome di un pacchetto... per quanto riguarda la versione perchè dovrebbe iniziare con un carattere diverso da [0-9]?? al massimo può avere come suffisso qualcosa come _beta1 et similia, ma prima non mi sembra di aver mai visto nulla di diverso da numeri...$ARCH dipende dall'architettura e quindi (a parte noarch) non varia, $BUILD varia in base ai pacchetti, quelli ufficiali hanno solo il numero del build, mentre gli altri oltre al numero del build riportano anche 2 caratteri [a-z] che sono le iniziali del pacchettizzatore, anche se c'è da dire che spesso mi è capitato di vedere $BUILD di 5 o 6 caratteri con tutto il nome o il nick (anche se non dovrebbe creare problemi, però l'importante è che ci sia sempre il numero di build)...
Se poi non ho ancora risposto alla tua domanda ti chiedo scusa...
Ciau
Re: Pacchetti slackware
Inviato: lun 21 gen 2008, 22:02
da Dani
In effetti non sono riuscito a spiegarmi bene...
Praticamente sto lavorando su un programma, slacky downloader (vedi area programmazione), nel quale dato un pacchetto devo suddividerne i token.
Ad esempio prendiamo il pacchetto "xhost-1.0.1-i486-1". Partendo da questa stringa devo dividere le informazioni fino ad arrivare a questo:
Codice: Seleziona tutto
nome -> xhost
versione -> 1.0.1
arch -> i486
build -> 1
Se tutti i pacchetti fossero così sarebbe un gioco da ragazzi in quando basterebbe dividere la stringa in base al token
-.
Ma seguendo questo ragionamento proviamo a prendere in esame il pacchetto "xf86-video-vesa-1.3.0-i486-1".
Ecco già qui le cose si complicano, perchè non so fino a che token arrivare per prendere solo il nome. infatti potrei avere "xf86" o "xf86-video" o "xf86-video-vesa".
Quindi per poter ottenere le informazioni che voglio mi serve una conferma alle domande che ho posto su.
Continuando su quest'ultimo esempio, se è
sempre vero che la versione di un pacchetto inizia con un numero le cose si fanno piu' semplici, in quanto per avere il nome basta leggere tutti i caratteri da inizio stringa fino a che non si raggiunga un
- seguito da un numero (inizio versione) e preceduto da una lettera (fine nome).
Quindi nel caso di "xf86-video-vesa-1.3.0-i486-1" leggo dall'inizio fino al primo
-[0-9] ed il gioco e' fatto.
Ma se esistesse un "xf86-video-9vesa-1.3.0-i486-1" ? Ecco che saremmo punto e daccapo.
Spero di essermi spiegato un po' meglio .
Re: Pacchetti slackware
Inviato: lun 21 gen 2008, 23:03
da danix
adesso inizio a collegare...

premesso che parlo da ignorante, sapendo che comunque i campi nel nome di un pacchetto sono sempre gli stessi $PROGRAM-$VERSION-$ARCH-$BUILD.tgz non puoi iniziare a leggere dalla fine, almeno da li sai che hai un qualcosa di più standard... l'estensione è sempre uguale, il build nella stragrande maggioranza dei casi è composto da [0-9][a-z][a-z], e se anche così non fosse (su slacky non ricordo pacchetti che non seguono questo standard) ti basi sul fatto che c'è una cifra all'inizio... quindi anche con *1danix.tgz ti verrebbe comunque bene... per quanto riguarda l'architettura, i casi sono pochi e sono standard, quindi credo sia facile da leggere... la versione e il nome del programma... bhe, quì non so proprio aiutarti, perchè effettivamente possono contenere entrambi sia lettere che numeri...
Non so se ti può essere in qualche modo d'aiuto il mio consiglio... spero di si...
buon lavoro...

Se ti serve qualcosa fai un fischio...
Ciau
Re: Pacchetti slackware
Inviato: mar 22 gen 2008, 7:22
da Dani
Forse ho trovato la soluzione smanettando con le regex ! Sono riuscito a matchare senza problemi "l.i.ve_7555+-2008.01.04-i686-1as" (ovviamente è un pacchetto inventato, ma devo coprire ogni evenienza

)
Sperimento un altro po' e vediamo...Grazie per l'interessamento !