Slackyd - Slacky downloader [DEAD]
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
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.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
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.
- michelino
- Staff

- Messaggi: 871
- Iscritto il: gio 21 dic 2006, 11:59
- Nome Cognome: Michelino Chionchio
- Slackware: -current
- Kernel: 2.6.29.6
- Desktop: kde (current)
- Località: Foggia
Re: slackyd - slacky downloader :)
Dani ho modificato lo slackbuild per verificare che lo slackyd.conf nuovo non sovrascriva il vecchio, però voglio segnalarti un paio di rilievi per chi installa da sorgenti:
1) la direttiva DESTDIR del make install (lo slackbuild non usa make install) ha riguardi solo per il binario (che viene correttamente installato in ${DESTDIR}/usr/bin, ma si disinteressa di creare le directory "${DESTDIR}/var/slackyd" ed "${DESTDIR}/etc/slackyd", creandole invece in "/" e collocando pertanto slackyd.conf direttamente in /etc/slackyd;
2) credo che sia inutile creare la directory /etc/slackyd con i permessi 777, visto che lo slackyd.conf può essere scritto solo da root;
3) dovresti far si che, in pieno stile slackware il nuovo slackyd.conf non sostituisca il vecchio (che viene backuppato), bensì si installi come slackyd.conf.new, lasciando il vecchio slackyd.conf al suo posto, prevedendo eventualmente un messaggio di avviso.
Sempre IMVHO
1) la direttiva DESTDIR del make install (lo slackbuild non usa make install) ha riguardi solo per il binario (che viene correttamente installato in ${DESTDIR}/usr/bin, ma si disinteressa di creare le directory "${DESTDIR}/var/slackyd" ed "${DESTDIR}/etc/slackyd", creandole invece in "/" e collocando pertanto slackyd.conf direttamente in /etc/slackyd;
2) credo che sia inutile creare la directory /etc/slackyd con i permessi 777, visto che lo slackyd.conf può essere scritto solo da root;
3) dovresti far si che, in pieno stile slackware il nuovo slackyd.conf non sostituisca il vecchio (che viene backuppato), bensì si installi come slackyd.conf.new, lasciando il vecchio slackyd.conf al suo posto, prevedendo eventualmente un messaggio di avviso.
Sempre IMVHO
Re: slackyd - slacky downloader :)
Si il makefile è scritto veramente male, sarà corretto !michelino ha scritto:Dani ho modificato lo slackbuild per verificare che lo slackyd.conf nuovo non sovrascriva il vecchio, però voglio segnalarti un paio di rilievi per chi installa da sorgenti:
1) la direttiva DESTDIR del make install (lo slackbuild non usa make install) ha riguardi solo per il binario (che viene correttamente installato in ${DESTDIR}/usr/bin, ma si disinteressa di creare le directory "${DESTDIR}/var/slackyd" ed "${DESTDIR}/etc/slackyd", creandole invece in "/" e collocando pertanto slackyd.conf direttamente in /etc/slackyd;
Tra l'altro mi ero ripromesso di prendere un manualozzo su automake e simili ma...
Questo problema dei permessi sto cercando di risolverlo da un po' di tempo ma ancora non so cosa fare.2) credo che sia inutile creare la directory /etc/slackyd con i permessi 777, visto che lo slackyd.conf può essere scritto solo da root;
Praticamente cambiando i permessi alla directory gli utenti non possono piu' usare il programma, perchè non potrebbero svolgere operazioni che vadano a scrivere in /var/slackyd, non avendo i permessi...Allo stesso tempo una directory scrivibile da tutti è un'ipotetica falla di sicurezza; un utente potrebbe scomporre un tgz, modificarlo, ricomporlo e aspettare che root l'installi, dato che l'hash md5 del tgz viene verificato solo a fine download. Oppure modificare la lista pacchetti maliziosamente...Teoricamente...
Per quanto riguarda il file di configurazione ho già spostato gli switch -c -C che ripuliscono sorgenti e tgz a -p -P, e ora uso -c per indicare un file di configurazione alternativo.
3) dovresti far si che, in pieno stile slackware il nuovo slackyd.conf non sostituisca il vecchio (che viene backuppato), bensì si installi come slackyd.conf.new, lasciando il vecchio slackyd.conf al suo posto, prevedendo eventualmente un messaggio di avviso.
Sempre IMVHO
- michelino
- Staff

- Messaggi: 871
- Iscritto il: gio 21 dic 2006, 11:59
- Nome Cognome: Michelino Chionchio
- Slackware: -current
- Kernel: 2.6.29.6
- Desktop: kde (current)
- Località: Foggia
Re: slackyd - slacky downloader :)
Io comincerei con la dir /etc/slackyd, che con permessi settati a 755 funziona egregiamenteDani ha scritto:Questo problema dei permessi sto cercando di risolverlo da un po' di tempo ma ancora non so cosa fare.
Praticamente cambiando i permessi alla directory gli utenti non possono piu' usare il programma, perchè non potrebbero svolgere operazioni che vadano a scrivere in /var/slackyd, non avendo i permessi..
Probabilmente hai ragione, è lo slackbuild che deve prendersi carico dell'operazione.....pardonDani ha scritto:che io sappia il make install deve sempre e comunque sovrascrivere eventuali vecchi files
Davvero grazie per il tuo lavoro che ha portato ad un tool comodissimo
Re: slackyd - slacky downloader :)
Ops non mi ero accorto dei permessi della directory in etcmichelino ha scritto: Io comincerei con la dir /etc/slackyd, che con permessi settati a 755 funziona egregiamente![]()
![]()
Ho letto male e credevo ti riferissi a /var/slackyd
- michelino
- Staff

- Messaggi: 871
- Iscritto il: gio 21 dic 2006, 11:59
- Nome Cognome: Michelino Chionchio
- Slackware: -current
- Kernel: 2.6.29.6
- Desktop: kde (current)
- Località: Foggia
Re: slackyd - slacky downloader :)
No problem

- Paoletta
- Staff

- Messaggi: 3975
- Iscritto il: lun 25 apr 2005, 0:00
- Slackware: 14.2 - 64 bit
- Desktop: fluxbox
- Località: Varese
Re: slackyd - slacky downloader :)
complimenti dani! se ho tempo do' un'occhiata al codice...
paola
paola
- michelino
- Staff

- Messaggi: 871
- Iscritto il: gio 21 dic 2006, 11:59
- Nome Cognome: Michelino Chionchio
- Slackware: -current
- Kernel: 2.6.29.6
- Desktop: kde (current)
- Località: Foggia
Re: slackyd - slacky downloader :)
Dani dovresti implementare il codice in modo da far si che il programma chieda se si vogliano scaricare anche le dipendenze suggerite contenute nell'eventuale slack-suggests.
IMVVVVHO
IMVVVVHO
Re: slackyd - slacky downloader :)
Se i pacchetti suggeriti sono nel PACKAGES.TXT non c'è problema, si puo' fare. :)michelino ha scritto:Dani dovresti implementare il codice in modo da far si che il programma chieda se si vogliano scaricare anche le dipendenze suggerite contenute nell'eventuale slack-suggests.
IMVVVVHO
Il guaio attualmente sono quei ce§§i di telecom che da oltre due settimane mi hanno lasciato senza linea...Purtroppo lo sviluppo sta andando a rilento a causa di questo, mi viene piu' difficile testare il codice aggiunto/modificato.
La 0.1.5 è quasi pronta, devo solo vedere se tutto va come deve andare e se così fosse nella 0.1.6 aggiungo il download dei pacchetti suggeriti !
@paoletta: grazie, un po' in ritardo :)
Re: slackyd - slacky downloader :)
Disponibile la versione 0.1.5 !
Ora slackyd puo' risalire ai pacchetti da un'eventuale libreria mancante (switch -d) e chiede se scaricare o meno i programmi necessari. E' stata aggiunta un'opzione per usare un file di configurazione alternativo, un'opzione che mostri un minimo di statistiche sui repository. Completamente riscritta la funzione di upgrade, e anche quella per la ricerca dei vari checksum. Aggiunta anche la possibilità di sopprimere alcuni warning.
Ordinata la lista dei pacchetti, ora sono in lista per nome, per versione e build in caso di pacchetti doppioni. Sempre per quanto riguarda i doppioni in fase di download vengono elencate tutte le versioni disponibili ma scelta solo una (la prima in caso di forzatura -f) !
Spero sia tutto a posto !
Ora slackyd puo' risalire ai pacchetti da un'eventuale libreria mancante (switch -d) e chiede se scaricare o meno i programmi necessari. E' stata aggiunta un'opzione per usare un file di configurazione alternativo, un'opzione che mostri un minimo di statistiche sui repository. Completamente riscritta la funzione di upgrade, e anche quella per la ricerca dei vari checksum. Aggiunta anche la possibilità di sopprimere alcuni warning.
Ordinata la lista dei pacchetti, ora sono in lista per nome, per versione e build in caso di pacchetti doppioni. Sempre per quanto riguarda i doppioni in fase di download vengono elencate tutte le versioni disponibili ma scelta solo una (la prima in caso di forzatura -f) !
Spero sia tutto a posto !
- michelino
- Staff

- Messaggi: 871
- Iscritto il: gio 21 dic 2006, 11:59
- Nome Cognome: Michelino Chionchio
- Slackware: -current
- Kernel: 2.6.29.6
- Desktop: kde (current)
- Località: Foggia
Re: slackyd - slacky downloader :)
Non ti ringrazierò mai abbastanza

Re: slackyd - slacky downloader :)
Sono io quello che dovrebbe ringraziarti per gli ottimi suggerimenti ricevuti ! ;)
Re: slackyd - slacky downloader :)
Disponibile slackyd 0.1.6 !
Diversi bug fixati, tra i piu' gravi un crash in caso di pacchetti con dipendenze mancanti e non trovate nel repository, la ricerca delle patch aventi stessa versione e stesso numero di build dei pacchetti slackware, un ordinamento dei pacchetti saltato in alcune circostanze, dei file lasciati aperti durante il controllo delle dipendenze sui tgz installati.
Aggiunto il download dei pacchetti suggeriti, se presenti, e aggiunte una serie di ottimizzazioni, diverse funzioni ora sono decisamente piu' veloci e meno esigenti in termini di memoria.
Per quanto riguarda i pacchetti suggeriti ho constatato che la lista nei repository non ha i pacchetti separati da una virgola, come accade per le dipendenze, ma da uno spazio. A causa di questo ho dovuto modificare una funzione abbastanza delicata, potrebbero sorgere problemi con repository esotici, ad esempio nel caso ci fossero dipendenze "nome >= == >= versione". Ma fortunatamente dovrebbe essere difficile trovare repository che usano convenzioni simili
Infine per le ottimizzazioni ecco qualche esempio, usando uno slackyd.conf con 6 repository extra per un totale di 6596 tgz
Ricerca singolo pacchetto:
Ricerca tutti pacchetti (leggermente migliore, ma l'algoritmo di ordinamento per ora è uno schifo):
Ricerca pacchetti installati non ufficiali:
Upgrade:
Diversi bug fixati, tra i piu' gravi un crash in caso di pacchetti con dipendenze mancanti e non trovate nel repository, la ricerca delle patch aventi stessa versione e stesso numero di build dei pacchetti slackware, un ordinamento dei pacchetti saltato in alcune circostanze, dei file lasciati aperti durante il controllo delle dipendenze sui tgz installati.
Aggiunto il download dei pacchetti suggeriti, se presenti, e aggiunte una serie di ottimizzazioni, diverse funzioni ora sono decisamente piu' veloci e meno esigenti in termini di memoria.
Per quanto riguarda i pacchetti suggeriti ho constatato che la lista nei repository non ha i pacchetti separati da una virgola, come accade per le dipendenze, ma da uno spazio. A causa di questo ho dovuto modificare una funzione abbastanza delicata, potrebbero sorgere problemi con repository esotici, ad esempio nel caso ci fossero dipendenze "nome >= == >= versione". Ma fortunatamente dovrebbe essere difficile trovare repository che usano convenzioni simili
Infine per le ottimizzazioni ecco qualche esempio, usando uno slackyd.conf con 6 repository extra per un totale di 6596 tgz
Ricerca singolo pacchetto:
Codice: Seleziona tutto
dani[OLD]$ time ./slackyd-0.1.5beta/slackyd -c ~/slackyd.conf -s mplayer &> /dev/null
real 0m0.174s
user 0m0.130s
sys 0m0.016s
dani[OLD]$ time ./slackyd-0.1.6beta/slackyd -c ~/slackyd.conf -s mplayer &> /dev/null
real 0m0.067s
user 0m0.042s
sys 0m0.003s
Codice: Seleziona tutto
dani[OLD]$ time ./slackyd-0.1.5beta/slackyd -c ~/slackyd.conf -s &> /dev/null
real 0m12.881s
user 0m11.605s
sys 0m0.087s
dani[OLD]$ time ./slackyd-0.1.6beta/slackyd -c ~/slackyd.conf -s &> /dev/null
real 0m9.570s
user 0m8.566s
sys 0m0.062s
Codice: Seleziona tutto
dani[OLD]$ time ./slackyd-0.1.5beta/slackyd -c ~/slackyd.conf -L &> /dev/null
real 0m2.436s
user 0m2.189s
sys 0m0.014s
dani[OLD]$ time ./slackyd-0.1.6beta/slackyd -c ~/slackyd.conf -L &> /dev/null
real 0m0.045s
user 0m0.022s
sys 0m0.002s
Codice: Seleziona tutto
dani[OLD]$ time ./slackyd-0.1.5beta/slackyd -c ~/slackyd.conf -U &> /dev/null
real 0m19.000s
user 0m16.717s
sys 0m0.406s
dani[OLD]$ time ./slackyd-0.1.6beta/slackyd -c ~/slackyd.conf -U &> /dev/null
real 0m5.771s
user 0m3.839s
sys 0m0.224s
Re: slackyd - slacky downloader :)
Dopo un mesetto pieno ho rilasciato la 0.1.7 !
E' stato aggiunto il supporto alle dipendenze indicate nel repository, lo stato dei pacchetti e cosa molto importante il tacchimetro sul download (la velocita' di scaricamento)
Non saranno piu' scaricati i pacchetti disponibili già installati:
mentre è possibile vedere lo stato sia attraverso lo switch -w che attraverso -s combinato con -v (verbose):
Infine per le dipendenze dello slack-required (opzione -D), questo funzionerà solo se tra tutti i pacchetti disponibili ce n'è esclusivamente uno con nome uguale a quello che stiamo verificando, il quale nella descrizione deve avere la stringa "PACKAGE REQUIRED: ...".
Questo switch verifica anche i pacchetti suggeriti.
E' stato aggiunto il supporto alle dipendenze indicate nel repository, lo stato dei pacchetti e cosa molto importante il tacchimetro sul download (la velocita' di scaricamento)
Non saranno piu' scaricati i pacchetti disponibili già installati:
Codice: Seleziona tutto
dani[~]$ slackyd -g amule
Searching amule: found 2 packages.
amule-2.2.1-i486-1sl.tgz [from slacky]
amule-adunanza-20080304-i486-1sl.tgz [from slacky]
*** amule-2.2.1-i486-1sl.tgz: already installed.
Download amule-adunanza-20080304-i486-1sl.tgz [from slacky] ? [y/N] n
Nothing was choiced.
dani[~]$
Codice: Seleziona tutto
dani[~]$ slackyd -s amule
Searching amule: found 2 packages.
amule-2.2.1-i486-1sl.tgz [from slacky]
amule-adunanza-20080304-i486-1sl.tgz [from slacky]
dani[~]$ slackyd -v -s amule
Searching amule: found 2 packages.
amule-2.2.1-i486-1sl.tgz [7516 KB -> 19280 KB, from slacky, installed]
amule-adunanza-20080304-i486-1sl.tgz [6678 KB -> 17220 KB, from slacky, not installed]
dani[~]$
Questo switch verifica anche i pacchetti suggeriti.
- navajo
- Staff

- Messaggi: 3884
- Iscritto il: gio 8 gen 2004, 0:00
- Nome Cognome: Massimiliano
- Slackware: 13.37 (x86_64)
- Kernel: 2.6.37.6
- Desktop: KDE 4.7.0 (Alien)
- Località: Roma
Re: slackyd - slacky downloader :)
Dani, complimenti ancora.. praticamente sto usando solo slackyd, perchè lo trovo veramente ben fatto.
Posso solo chiedere, se sarà messa nel config una "blacklist" ? Per poter decidere di non fargli upgradare un pacchetto. Per esempio Flash ..
complimenti ancora.
Posso solo chiedere, se sarà messa nel config una "blacklist" ? Per poter decidere di non fargli upgradare un pacchetto. Per esempio Flash ..
complimenti ancora.
Re: slackyd - slacky downloader :)
Si certo, la blacklist dei pacchetti è nella lista delle cose da fare :D
