Slackyd - Slacky downloader [DEAD]

Forum dedicato alla programmazione.

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.
Avatar utente
michelino
Staff
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 :)

Messaggio da michelino »

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

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Re: slackyd - slacky downloader :)

Messaggio da Dani »

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;
Si il makefile è scritto veramente male, sarà corretto !
Tra l'altro mi ero ripromesso di prendere un manualozzo su automake e simili ma... #-o
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;
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...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
:-k che io sappia il make install deve sempre e comunque sovrascrivere eventuali vecchi files :-k

Avatar utente
michelino
Staff
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 :)

Messaggio da michelino »

Dani 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..
Io comincerei con la dir /etc/slackyd, che con permessi settati a 755 funziona egregiamente :D :D
Dani ha scritto::-k che io sappia il make install deve sempre e comunque sovrascrivere eventuali vecchi files :-k
Probabilmente hai ragione, è lo slackbuild che deve prendersi carico dell'operazione.....pardon :oops: :oops:

Davvero grazie per il tuo lavoro che ha portato ad un tool comodissimo

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Re: slackyd - slacky downloader :)

Messaggio da Dani »

michelino ha scritto: Io comincerei con la dir /etc/slackyd, che con permessi settati a 755 funziona egregiamente :D :D
Ops non mi ero accorto dei permessi della directory in etc #-o #-o
Ho letto male e credevo ti riferissi a /var/slackyd #-o #-o

Avatar utente
michelino
Staff
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 :)

Messaggio da michelino »

No problem :lol: :lol:

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: slackyd - slacky downloader :)

Messaggio da Paoletta »

complimenti dani! se ho tempo do' un'occhiata al codice...

paola

Avatar utente
michelino
Staff
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 :)

Messaggio da michelino »

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

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Re: slackyd - slacky downloader :)

Messaggio da Dani »

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
Se i pacchetti suggeriti sono nel PACKAGES.TXT non c'è problema, si puo' fare. :)
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 :)

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Re: slackyd - slacky downloader :)

Messaggio da Dani »

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 !

Avatar utente
michelino
Staff
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 :)

Messaggio da michelino »

Non ti ringrazierò mai abbastanza :D :D

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Re: slackyd - slacky downloader :)

Messaggio da Dani »

Sono io quello che dovrebbe ringraziarti per gli ottimi suggerimenti ricevuti ! ;)

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Re: slackyd - slacky downloader :)

Messaggio da Dani »

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 :happy8:
Infine per le ottimizzazioni ecco qualche esempio, usando uno slackyd.conf con 6 repository extra per un totale di 6596 tgz :D

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
Ricerca tutti pacchetti (leggermente migliore, ma l'algoritmo di ordinamento per ora è uno schifo):

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
Ricerca pacchetti installati non ufficiali:

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
Upgrade:

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

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Re: slackyd - slacky downloader :)

Messaggio da Dani »

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) :lol:
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[~]$
mentre è possibile vedere lo stato sia attraverso lo switch -w che attraverso -s combinato con -v (verbose):

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[~]$ 
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.

Avatar utente
navajo
Staff
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 :)

Messaggio da navajo »

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 ..
:D :D
complimenti ancora.

Dani
Linux 4.x
Linux 4.x
Messaggi: 1447
Iscritto il: mer 26 apr 2006, 1:52
Desktop: gnome
Distribuzione: arch

Re: slackyd - slacky downloader :)

Messaggio da Dani »

Si certo, la blacklist dei pacchetti è nella lista delle cose da fare :D

Bloccato