Page 1 of 2

[TOOL ] - bininfo -info dai binari prima di installarli

Posted: Wed Sep 29, 2004 4:06 pm
by xchris
Piccolo tool usando roba di portage.
Utilizzo:

Code: Select all

./bininfo file.tbz2
elenchera' "use" utilizzate e altri parametri come cflags,chost..

nato da questo post...
http://forums.gentoo.org/viewtopic.php?t=223399

download

Code: Select all

wget http://www.xchris.net/download.php?file=files/bininfo.gz -O bininfo.gz
http://www.xchris.net/download.php?file ... bininfo.gz

ciao

Posted: Wed Sep 29, 2004 4:39 pm
by mouser
Scarricato e provato.

Ottimo tool.
mouser

Re: [TOOL ] - bininfo -info dai binari prima di installarli

Posted: Wed Sep 29, 2004 4:40 pm
by randomaze
xchris wrote:Piccolo tool usando roba di portage.
Sarebbe interessante se usassi i binari :-P

ultimamente sei diventato una macchina per scripting :roll:

Posted: Wed Sep 29, 2004 4:42 pm
by fedeliallalinea
Aggiunto a post utilissimi sezione tools

Posted: Wed Sep 29, 2004 4:43 pm
by xchris
consiglio a chi l'ha scaricato da + di 5 minuti di riscaricarlo....
troppa fretta a metterlo su :S
ora va meglio.

@randomaze: mmmm si vede che mi sto un po' scassando in questo periodo? :lol: (in realta' era una quasi promessa per zuglio)

pure io non uso i binari....a meno di openoffice.. :)

Posted: Wed Sep 29, 2004 5:18 pm
by xchris
spero che questo sia l'ultimo update...
uppata ver nuova (scusate :S)

un simil screenshot:

Code: Select all

./bininfo /usr/portage/packages/All/postfix-2.1.3.tbz2

BinInfo - ver 0.1


*mail-mta/postfix-2.1.3

    USEFLAGS        : +ipv6 +pam -ldap +mysql -postgres +ssl -sasl -vda -mailwrapper -mbox
    CXX             : g++
    CC              : gcc
    CHOST           : i686-pc-linux-gnu
    CFLAGS          : -O3 -march=pentium4 -fomit-frame-pointer -pipe
    CXXFLAGS        : -O3 -march=pentium4 -fomit-frame-pointer -pipe
    SLOT            : 0
    PROVIDE         : virtual/mta virtual/mda
    LICENSE         : IPL-1




ciao

Posted: Wed Sep 29, 2004 11:19 pm
by zUgLiO
xchris wrote:(in realta' era una quasi promessa per zuglio)
Grazie grazie grazie..era esattamente quello che mi serviva :) , se il 9 ottobre vieni a ferrara al codejam ti offro una superpizza :D

Posted: Thu Sep 30, 2004 6:05 am
by xchris
:D

chi lo sa...:)
cmq e' stata una cosa interessante ;)
ciao

Posted: Thu Sep 30, 2004 10:32 am
by Ty[L]eR
bellissimo... concordo con gli altri che ti fanno i complimenti per le tonnellate di script che fai... io mi sto ancora cimentando con ziopino (mi sono appena svegliato e l'ho riprovato, ghgghh) lo reputo troppo utile :D

Posted: Thu Sep 30, 2004 10:39 am
by xchris
:oops:
grazie :oops:

Posted: Fri Oct 01, 2004 10:32 am
by Benve
Sarebbe perfetto da usare per il GIW http://forums.gentoo.org/viewtopic.php?t=230186
Volevo gia` creare pacchetti binari di kde3.3 e gnome2.8 ma mi mancava un qualcosa di automatico per controllare la compatibilita` tra pacchetto e macchina.
In teoria se un binario ha le stesse use flags ed e` compilato per lo stesso processore dovrebbe non dare problemi.
La prossima settimana faro` un poco di prove.

Posted: Fri Oct 01, 2004 10:36 am
by xchris
ottimo :)
se guardi il codice vedrai che e' molto semplice...
potrai facilmente adattarlo.

eventualmente dovesse servirti qc di particolare o nn pitoneggi molto chiedimi pure.
ciao

Posted: Fri Oct 01, 2004 10:51 am
by Benve
xchris wrote:ottimo :)
se guardi il codice vedrai che e' molto semplice...
potrai facilmente adattarlo.

eventualmente dovesse servirti qc di particolare o nn pitoneggi molto chiedimi pure.
ciao
Non mi pitoneggio per niente, ma credo che per ora usero bash e diff con l`output dello script, magari scriviamo qualcosa di meglio la settimana prossima, oppure per il Linux Day

Posted: Fri Oct 01, 2004 12:06 pm
by xchris
se mi spieghi meglio cosa ti serve magari te lo faccio..
non ci sono pb.

ciao :)

Posted: Fri Oct 01, 2004 1:39 pm
by Benve
servirebbe un programma per gestire i pacchetti binari, come si parlava in dei post vecchi

Si potrebbe fare così:
Ogni volta che qualcuno compila, usa -b per creare i pacchetti
Alla fine si fa partire uno script che copia in una directory montata (o qualcosa di simile), il pacchetto binario, aggiungendogli al nome una stringa univoca, magari generata a partire da bininfo.

Es. compilo grep
dentro /usr/portage/packages ci sarà grep-2.5.1-r6.tbz2
con bininfo:

Code: Select all

 /home/benve/bininfo grep-2.5.1-r6.tbz2 

BinInfo - ver 0.1 

*sys-apps/grep-2.5.1-r6

        USEFLAGS    : -build -nls -pcre -static -uclibc -debug
        CXX         : g++
        CC          : gcc
        CHOST       : i686-pc-linux-gnu
        CFLAGS      : -O2 -march=pentium4 -fomit-frame-pointer -pipe
        CXXFLAGS    : -O2 -mcpu=i686 -pipe
        SLOT        : 0
        PROVIDE     : 
        LICENSE     : GPL-2
il primo script copia in file nel "database dei binari"
in /mnt/dbb/ ci sarà grep-2.5.1-r6.STRINGAUNIVOCAGENERATA.tbz2

Il secondo cript serve per installare un pacchetto.
Se in un altra macchina devo installare grep lancerò
script2 grep
Questo dovrebbe interrogare emerge e avere una lista di pacchetti, dipendenze e le use associate.
Poi con emerge info prende le info per l'architettura della macchina.
A questo punto copia i file giusti da /mnt/dbb/ a /usr/portage/packages/All e avvia un emerge -k grep
I file sono scelti tra quelli che hanno caratteristiche giuste (stesse use flag, stesso processore)

Questa è una sintesi estrema, ma da l'idea, se vuoi lo sviluppiamo insieme

Posted: Fri Oct 01, 2004 2:19 pm
by xchris
certo.
sembra interessante :)

andrebbe pensata per bene... intanto con nfs di potrebbe condividere /usr/portage/packages

non tutto /usr/portage altrimenti le ricerche rallenterebbero' troppo..

appena mi libero' un po' ci penso su :) e troviamo assieme il sistema migliore... cosi' magari potra' essere riutilizzata anche in altri gentoo-party
ciao

EDIT: ho detto una caxxata! se scrivono tutti su packages...si sovrascrivono :D

Posted: Sat Oct 02, 2004 4:39 pm
by Benve
Grazie, comunque l'uso di nfs era un esempio. Come si accede ai file e agli attributi dovrebbe essere una libreria/oggetto/modulo (cosa cavolo c'è nel pyton), per permettere di poter usare anche altri sistemi per la condivisione di file.

Per esempio in facoltà ci sono spazi riservati ai dati degli studenti accedibili solo tramite ssh/scp.
Il massimo sarebbe il p2p, come si parlava in vecchi post.

Posted: Sat Oct 02, 2004 4:43 pm
by xchris
il p2p implicherebbe troppi manualismi :) (a meno di non riscrivere un client)

meglio il vecchio nfs :)

appena mi libero un po' da ziopino e altri impegni ci pensiamo su per bene :)

ciao

Posted: Mon Oct 04, 2004 9:44 am
by Benve
Ora ti faccio un prototipo in bash o perl, poi se ti ispira e hai tempo possiamo convertirlo in Pyton

Posted: Mon Oct 04, 2004 9:45 am
by xchris
bash sarebbe per me un po' meglio perche' perl l'ho mollato in favore di python (troppo incasinato per i miei gusti)

ciao

Posted: Mon Oct 04, 2004 9:49 am
by xchris
secondo me sarebbe carino fare una cosa del genere:
classificare le cpu in questo modo:

A:amd
I:intel
P:ppc
.....

poi per ognuna delle cpu intel ad es:
486:1
586:2
.....

cosi' se paragoni il pc locale con i binari disponibili e vedi che c'e' una versione compatibile la installi
Magari dai la possibilita' di dire:
-exactmatch
-compatiblematch


cosi' uno installa solo se e' compilato allo stesso identico modo o in modo compatibile...

che ne pensi?

Posted: Sat Oct 09, 2004 5:07 pm
by Benve
Problema:

come mai bininfo non riporta le parentesi di alcune use?

Code: Select all

emerge -pv grep

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] sys-apps/grep-2.5.1-r6  -build -debug -nls +pcre -static -(uclibc)  0 kB 

Total size of downloads: 0 kB

Code: Select all

./bininfo grep-2.5.1-r6-B0.tbz2 

BinInfo - ver 0.1 

*sys-apps/grep-2.5.1-r6

        USEFLAGS    : -build -nls -pcre -static -uclibc -debug
        CXX         : g++
        CC          : gcc
        CHOST       : i686-pc-linux-gnu
        CFLAGS      : -O2 -march=pentium4 -fomit-frame-pointer -pipe
        CXXFLAGS    : -O2 -mcpu=i686 -pipe
        SLOT        : 0
        PROVIDE     : 
        LICENSE     : GPL-2


uclibc prima ha le parentesi dopo no.

Posted: Sat Oct 09, 2004 6:31 pm
by xchris
controllo appena posso.
promesso :)

Posted: Sat Oct 09, 2004 6:48 pm
by xchris
le parentesi vengono usate per useflag mascherate!
E' quindi normale che bininfo le tolga.

emerge -pv ti segna che cmq non e' attivabile con i metodi convenzionali.
(perche' in teoria il comando serve per vedere cosa supporta in compilazione)

Bininfo o altri tool invece mostrano "come e' effettivamente compilato".
...e riportano correttamente -uclib

Per il tuo script conviene semplicemente eliminare le parentesi...

ciao

Posted: Sun Oct 10, 2004 10:45 am
by Benve
xchris wrote: Per il tuo script conviene semplicemente eliminare le parentesi...
è quello che farò, grazie