View previous topic :: View next topic |
Author |
Message |
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Fri Feb 16, 2007 11:35 pm Post subject: [TOOL] Gestione pulita degli overlay con EMERGE-OVERLAY |
|
|
Download: http://mouser.altervista.org/software/gentoo/emerge-overlay-0.1.1.tar.bz2
Installazione
Ok, per installare il pacchetto fate in questo modo:
Code: | # cd /tmp/
# wget http://mouser.altervista.org/software/gentoo/emerge-overlay-0.1.1.tar.bz2
# tar jxvf emerge-overlay-0.1.1.tar.bz2
# cd emerge-overlay-0.1.1
# ./eoinstall |
Vi installerà emerge-overlay direttamente in /usr/bin
Descrizione
Che dire, dopo settimane di lavoro/test/problemi ecco finalmente in versione ALPHA emerge-overlay
ovvero "Come usare layman mantenendo il sistema pulito".
Per esempio perchè se devo installare xmms (ebuild nell'overlay zugaina di layman) di un totale di 5 ebuilds
necessari alla compilazione, mi devo tirare dietro 14M di files, directory, ecc?
Non sarebbe più logico avere in locale solo gli ebuild che mi permettono di compilare quel programma?
Questo è quello che fa emerge overlay.
Code: | # emerge-overlay -h
usage: ./emerge-overlay [-h|--help] [-V|--version] [-d|--debug]
[-s|--sync] [-P "<options>"]
[-f|--fetchonly] <software>
-h|--help This help
-V|--version Print version and informations
-d|--debug Activating debug mode
-s|--search Show package info and selected overlay
--sync Update eix overlay's database
-P "<options>" Options to pass to portage (example: "-av")
-f|--fetchonly Only create local overlay with directory and
ebuilds instead of install software |
Quindi in pratica quando lancio
Code: | # emerge-overlay xmms |
lo script esegue queste operazioni:
q
- controlla la presenza di un overlay locale; se non c'è chiede all'utente dove metterlo e si occupa di aggiornare il make.conf per far funzionare l'overlay locale
- controlla l'overlay di provenienza dell'ebuild e lo sincronizza con layman
- estrae la lista degli overlay di appartenenza di tutte le dipendenze e, mano a mano, sincronizza layman con eventuali overlay aggiuntivi
- copia tutti gli overlay necessari all'emerge nell'overlay locale, ricreando la stessa struttura di directory
- elimina tutti gli overlay di portage
- esegue l'emerge
Di seguito riporto la ToDo List tradotta in italiano:
* Creare la possibilità (o modificare l'algoritmo di estrazione delle versioni
per selezionare qualsiasi pacchetto. Attualmente non funziona con tutti gli
ebuild (ad esempio, php non va )
* Testare il più grande numero possibile di ebuild da overlay per assicurarsi
che la regexp di sed che elimina le versioni dai nomi dei pacchetti funzioni
a dovere
* Includere il supporto all'update di software
* Ottimizzare il codice.
ah, premetto che questo script necessita sia di eix che di layman.
Nel mio sistema funziona perfettamente con
Code: | app-portage/eix
Installed versions: 0.8.8(10:18:00 02/08/07)(-sqlite)
app-portage/layman
Installed versions: 1.0.6 |
ed, ovviamente, la presenza di
Code: | source "/usr/portage/local/layman/make.conf" |
nel /etc/make.conf (seguite comunque l'howto su layman che viene spiegato tutto benissimo)
Signori, quindi a noi il testing....... può essere utile come script quindi in caso di bug ecc.
Non esistate a segnalarlo che vedo di riuscire a fare qualcosina.
Ciriciao
mouser
Changelog
* 2007-02-25: Corretto bug all'interno dello script di installazione (eoinstall)
* 2007-02-21: Pacchetto ufficialmente aggiunto al Gechi Overlay; info su http://www.gechi.it
* 2007-02-21: Aggiunta informativa sulla licenza (GPLv2) - Aggiunto script di installazione.
* 2007-02-19: Eliminato il sed ed utilizzata l'opzione "--columns" di portege per estrarre i nomi dei pacchetti senza versione.
Last edited by mouser on Sun Feb 25, 2007 11:00 am; edited 6 times in total |
|
Back to top |
|
|
Bionicle Apprentice
Joined: 06 Nov 2004 Posts: 172 Location: TI, svizzera
|
Posted: Fri Feb 16, 2007 11:45 pm Post subject: |
|
|
Wow, ti ringrazio oggi lo provo é proprio quello che cercavo, adesso tutte quelle operazioni le facevo a mano ma con uno script del genere la gestione degli overlay é notevolmente velocizzata.
Grazie ancora _________________ ::::. www.almack.ch .:::: |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Sat Feb 17, 2007 12:03 am Post subject: |
|
|
Bionicle wrote: | Wow, ti ringrazio oggi lo provo é proprio quello che cercavo, adesso tutte quelle operazioni le facevo a mano ma con uno script del genere la gestione degli overlay é notevolmente velocizzata. |
De nada
Mi aspetto bug report a manetta da te
Ciriciao
mouser |
|
Back to top |
|
|
zolar czakl Apprentice
Joined: 25 Sep 2004 Posts: 162 Location: UMRK
|
Posted: Sat Feb 17, 2007 1:43 pm Post subject: |
|
|
Non ho ancora provato ma leggendo lo script (entro i miei limiti ),
mi sorge un dubbio.
Come viene gestita la presenza di eclass custom? |
|
Back to top |
|
|
Bionicle Apprentice
Joined: 06 Nov 2004 Posts: 172 Location: TI, svizzera
|
Posted: Sat Feb 17, 2007 6:01 pm Post subject: |
|
|
ciao ecco ho fatto un paio di test.
Non si può fare automaticamente l'update di eix? mettere un avviso Yes/No? lanciare il comando "update-eix-remote update" automaticamente?
Non per essere pignoli ma perché scrive 2 volte il messaggio?
Code: | Your database-file uses an obsolete format (17, current is 21).
Please run 'update-eix' and try again.
Your database-file uses an obsolete format (17, current is 21).
Please run 'update-eix' and try again.
[--] Package present only in current portage, not into any overlay.
[--] Sorry, today you can't break your gentoo :D |
ho provato ad installare networkmanager e beryl, allora con networkmanager non riesce a trovarlo.
Code: |
eix networkmanager:
[D] net-misc/networkmanager
Available versions: [M](~)0.6.4_pre20061028 [M](~)0.6.4_pre20061028-r1 [M](~)0.6.4_pre20061223[3] [M](~)0.6.4_pre20070122-r1[3] [M](~)0.6.4_pre20070122-r2[3] [M]*0.6.4_pre20070208[3] [M](~)0.6.4_pre20070213[3] [M](~)0.6.4[2] [M](~)0.6.4-r1[1] [M](~)0.6.4-r1[2]
Installed versions: 0.6.4_pre20070213(14:35:06 14/02/2007)(crypt -debug -doc -gnome)
Homepage: http://people.redhat.com/dcbw/NetworkManager/
Description: Network configuration and management in an easy way. Desktop env independent |
Code: | ./emerge-overlay -s networkmanager
[--] Package present only in current portage, not into any overlay.
[--] Sorry, today you can't break your gentoo :D
|
EDIT debug:
Code: | ./emerge-overlay -d networkmanager
[--] Creating local overlay with ebuilds...
[--] (local_overlay_build) Getting overlay from program name
[!!] (get_overlay) OVERLAY_NUMBER is empty. Returning -1
[!!] (local_overlay_build) Error during overlay extracting
[!!] Error during local overlay creation! |
Mentre con beryl lo riconosce ma non riesce a copiare le cartelle e files:
Code: | ./emerge-overlay -s beryl
[I] x11-wm/beryl
Available versions: (~)0.1.3 (~)0.1.3-r1[1] (~)0.1.4 (~)0.1.4[1] (~)0.1.99.2[1] (~)0.1.9999.1[1] (~)0.1.9999.1[2] (~)0.1.9999.2[1] (~)0.1.9999.2[2] (!)9999[2]
Installed versions: 9999(11:44:07 10/02/2007)(-gnome kde)
Homepage: http://beryl-project.org
Description: Beryl window manager for AiGLX and XGL (meta)
[1] (layman/sabayon)
[2] (layman/xeffects)
[--] Overlay selected for package beryl - xeffects
|
se lo voglio installare:
Code: | ./emerge-overlay beryl
[--] Creating local overlay with ebuilds...
[!!] You don't have declared any local overlay into /etc/make.conf
[--] What directory do you want for local overlay [/usr/local/portage]?
[--] Overlay directory /usr/local/portage created and added variable to /etc/make.conf
[!!] (local_overlay_build) Error during ebuild directory copying
[!!] Error during local overlay creation!
|
EDIT aggiungo il debug:
Code: | ./emerge-overlay -d beryl
[--] Creating local overlay with ebuilds...
[--] (local_overlay_build) Getting overlay from program name
[--] (local_overlay_build) Overlay getted xeffects
[--] (local_overlay_build) Check/Create for local overlay
[--] (check_local_overlay) Extracting overlay from /etc/make.conf...
[--] (check_local_overlay) Found current local overlay at /usr/local/portage
[--] (check_local_overlay) Overlay directory selected /usr/local/portage
[--] (local_overlay_build) Local overlay checked... OK
[--] (local_overlay_build) Getting remote overlay
[--] (sync_remote_overlay) Retrieving list of overlay from layman...
[--] (sync_remote_overlay) Overlay list retrieved by layman
[--] (sync_remote_overlay) Getting remote overlay...
[--] (sync_remote_overlay) Remote overlay acquired
[--] (local_overlay_build) Overlay xeffects acquired!
[--] (local_overlay_build) Extracting dependency
[--] Program beryl require this dependency: x11-wm/beryl
[--] (local_overlay_build) Extraced dependency = "x11-wm/beryl "
[--] (local_overlay_build) Extracing dependency's (beryl) overlay name
[--] (local_overlay_build) Overlay for dependency beryl is xeffects
[--] (local_overlay_build) Checking if dependency's remote overlay xeffects it's syncronized
[--] Checking xeffects into syncronized overlays...
[--] Overlay xeffects not yet syncronized!
[--] (local_overlay_build) Dependency beryl overlay not synched. Syncing...
[--] (sync_remote_overlay) Retrieving list of overlay from layman...
[--] (sync_remote_overlay) Overlay list retrieved by layman
[--] (sync_remote_overlay) Getting remote overlay...
[--] (sync_remote_overlay) Remote overlay acquired
[--] (local_overlay_build) Copying dependency's beryl ebuild dir into local overlay /usr/local/portage
[!!] (copy_ebuild_dir) Error during extraction of software name
[!!] (local_overlay_build) Error during ebuild directory copying
[!!] Error during local overlay creation!
|
mi dispiace ma purtroppo ti posso solo segnalare eventuali problemi perché non me ne intendo molto di bash (ho guardato il codice e non ho capito molto)
un'altra cosa quando parli di "- elimina tutti gli overlay di portage " cosa intendi?
Ciao e grazie ancora!
[ADD] se do il comando con -P mi da sempre questo
Code: | ./emerge-overlay -d -P xmms
[--] Creating local overlay with ebuilds...
[!!] (local_overlay_build) Error... haven't passed any argument
[!!] Error during local overlay creation!
|
_________________ ::::. www.almack.ch .:::: |
|
Back to top |
|
|
Luca89 Advocate
Joined: 27 Apr 2005 Posts: 2107 Location: Agrigento (Italy)
|
Posted: Sat Feb 17, 2007 11:09 pm Post subject: |
|
|
Piccola idea:
Perchè invece di scaricare e poi rimuovere gli overlay di layman, non si scaricano tutti quelli che servono e poi si creano dei link simbolici solo per alcuni pacchetti in un overlay locale? Non so se mi sono spiegato bene, però potrebbe essere una buona idea, in questa maniera basta aggiornare layman e tutti gli ebuild sono aggiornati. Per meglio capire vi faccio uno schema di directory:
/usr/portage/local/layman/sunrise/sys-apps/portage/
/usr/portage/local/layman/sunrise/net-misc/foo/
/usr/portage/local/my/sys-apps/portage/ -> symlink to ../../../layman/sunrise/sys-apps/portage/
PORTDIR_OVERLAY="/usr/portage/local/my" e portage vede solo un pacchetto dell'overlay sunrise anziché tutti. _________________ Running Fast! |
|
Back to top |
|
|
Bionicle Apprentice
Joined: 06 Nov 2004 Posts: 172 Location: TI, svizzera
|
Posted: Sun Feb 18, 2007 10:13 am Post subject: |
|
|
L'idea é veramente geniale.
Ho provato questa mattina e funziona alla perfezione!
Quello che si dovrebbe fare:
- cercare le dipendenze del pacchetto
- creare la cartella corretta in locale /usr/local/portage
- creare i symlink
Con questo sistema posso semplicemente aggiornare gli overly con layman ed é tutto ok, dunque si risolve anche il ToDO
"* Includere il supporto all'update di software "
Ciao _________________ ::::. www.almack.ch .:::: |
|
Back to top |
|
|
Bionicle Apprentice
Joined: 06 Nov 2004 Posts: 172 Location: TI, svizzera
|
Posted: Sun Feb 18, 2007 4:13 pm Post subject: |
|
|
ciao,
ho provato ad implementare il sistema dei symlink e sembra che funziona (l'ho testato)
ho fatto in modo che gli overlay alla fine non si cancellano (ho commentato il codice)
e poi ho notato la cartella principale di layman non si trova sotto /usr/portage/local ma su /usr/local/ ... non so se é possibile che la riconosca automaticamente
ti lascio qui le modifiche.
I miglioramenti che restano sono quelli sulla ricerca delle dipendenze... vedo cosa riesco a fare
emerge-overlay-diff.diff
CIao _________________ ::::. www.almack.ch .:::: |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Mon Feb 19, 2007 8:45 am Post subject: |
|
|
Il fatto che gli overlay alla fine non si cancellino e che vengano creati i symlink va proprio contro a quello che vuole fare questo script
Questo script è fatto per non doversi, sempre facendo l'esempio di xmms, tenersi 14M di ebuild in un'overlay per usarne semplicemente 4 (ebuilds, non mega ). Il fatto che vengano mantenuti gli overlay e creati i symlink, quindi, non verrà implementato poichè va proprio contro a quello che intendevo fare..... Tra l'altro quello che avete proposto è una ridondanza immesa. Se già ho gli overlay di layman, tanto vale che mi tengo quelli.... creare i symlink è abbastanza inutile.
Per gli altri problemi......
Mi sono dimenticato di specificare il file di conf.
E' possibile creare un file in /etc/portage/package.overlay.keywords in cui specificare la versione del pacchetto che si intende creare. Questo script va ad estrarre l'ultima versione stabile del programma. Se non esistono versioni stabili, allora dirà che il programma non ha ebuild in nessun overlay.
Se si desidera installare la versione in tilde, basterà inserire
Code: | # echo "x11-wm/beryl ~x86" >> /etc/portage/package.overlay.keywords |
se si desidera la versione mascherata, invece
Code: | # echo "x11-wm/beryl [M]" >> /etc/portage/package.overlay.keywords |
nel caso si voglia installare da cvs
Code: | # echo "x11-wm/beryl -*" >> /etc/portage/package.overlay.keywords |
inoltre, è possibile forzare l'installazione di una particolare versione tramite
Code: | # echo "x11-wm/beryl versione" >> /etc/portage/package.overlay.keywords | .
Ovviamente queste entry sono mutue esclusive
Per l'opzione "-P".
Dall'help:
Code: | # ./emerge-overlay -h
...
-P "<options>" Options to pass to portage (example: "-av")
... |
Quindi inserire il '-P' e basta non ha significato. Si pùo fare
Code: | # ./emerge-overlay -P "-Dv" xmms |
per, una volta costruito l'overlay locale, fargli eseguire un
.
Ora cerco di guardare un'attimino i bachi segnalati e di correggere
In ogni caso, grazie mille per i test
Ciriciao
mouser
edit: Dimenticavo un'ultima cosa...... Questo script, attualmente ho avuto modo di testarlo solo su x86. Nel caso abbiate un'altra architettura (ex. amd64), dovrete modificare la variabile ARCH nelle prime righe del programma con la vostra arch.
riedit: Ah, per il sync, è possibile lanciare
Code: | # ./emerge-overlay --sync | per syncare eix. L'ho aggiunta come opzione perchè si potrebbe anche non voler aggiornare eix |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Mon Feb 19, 2007 10:41 am Post subject: |
|
|
Guardavo il problema con networkmanager.
E' dovuto alla strana nomenclatura che hanno le versioni dei pacchetti:
La doppia keyword richiesta fa incasinare lo script:
Code: | # eix -e networkmanager
net-misc/networkmanager
Available versions: {M}(~)0.6.4_pre20061028 {M}(~)0.6.4_pre20061028-r1 {M}(~)0.6.4_pre20061223[3] {M}(~)0.6.4_pre20070122-r1[3] {M}(~)0.6.4_pre20070122-r2[3] {M}*0.6.4_pre20070208[3] {M}(~)0.6.4_pre20070213[3] {M}(~)0.6.4[2] {M}(~)0.6.4-r1[1] {M}(~)0.6.4-r1[2]
... |
Ma di solito la flag masked non è tra parentesi quadre???
E poi??? sia masked che in tilde.... uff che sbatti!!!
Comunque aggiungo questo programma alla lista dei casi particolari
Per quanto riguarda la posizione degli overlay di layman, io ho usato e tutt'ora uso layman e i suoi overlay sono sempre stati in /usr/portage/local/layman/. non so se il tuo è un caso particolare o hanno spostato gli overlay.... bah
Thanxxxx
Ciriciao
mouser |
|
Back to top |
|
|
Bionicle Apprentice
Joined: 06 Nov 2004 Posts: 172 Location: TI, svizzera
|
Posted: Mon Feb 19, 2007 11:11 am Post subject: |
|
|
grazie per averi chiarito come usarie i pacchetti .
ho fatto ancora altri test su beryl e knetworkmanager.
con knetworkmanager: funziona tutto solo che cerca di installare non l'ultima versione presente su sabayon la 0.1-r2
Code: | eix -e knetworkmanager
* kde-misc/knetworkmanager [1]
Available versions: ~0.1 ~0.1_p20061029
Homepage: http://en.opensuse.org/Projects/KNetworkManager
Description: A NetworkManager front-end for KDE
[I] net-misc/knetworkmanager [2]
Available versions: (~)0.1-r2
Installed versions: 0.1-r2(13:47:29 07/02/2007)(arts -debug -elibc_FreeBSD -xinerama)
Homepage: http://en.opensuse.org/Projects/KNetworkManager
Description: A NetworkManager front-end for KDE
[1] (layman/gentopia)
[2] (layman/sabayon) |
ecco come si presenta:
Code: | ./emerge-overlay-2 -d -s knetworkmanager
* kde-misc/knetworkmanager [1]
Available versions: ~0.1 ~0.1_p20061029
Homepage: http://en.opensuse.org/Projects/KNetworkManager
Description: A NetworkManager front-end for KDE
[I] net-misc/knetworkmanager [2]
Available versions: (~)0.1-r2
Installed versions: 0.1-r2(13:47:29 07/02/2007)(arts -debug -elibc_FreeBSD -xinerama)
Homepage: http://en.opensuse.org/Projects/KNetworkManager
Description: A NetworkManager front-end for KDE
[1] (layman/gentopia)
[2] (layman/sabayon)
Found 2 matches.
[--] Overlay selected for package knetworkmanager - gentopia
|
ho notato una cosa che si ripercuote sull'installazione di beryl, ed é questa:
alcuni pacchetti con eix riportano la * mentre altri la [I]
Code: | * kde-misc/knetworkmanager [1]
o
[I] net-misc/knetworkmanager [2]
|
nel codice dello script fa questo controllo ma non vede i pacchetti che sono come [I] (ho cercato nel man di eix e non ho trovato cosa significa)
Code: |
copy_ebuild_dir ()
{
...
# Extracting package name
PACKAGE_NAME="`eix -e $1 | grep '*' | head -1 | awk '{print $2}'`" |
con beryl non funziona perché c'é solo il pacchetto con l'impostazione [I], il pacchetto lo strova se faccio un -s ma poi si blocca durante la risoluzione del nome.
OK ho provato a modificare il grep ed il risultato é questo:
Code: | ./emerge-overlay-2 -d beryl
[--] Creating local overlay with ebuilds...
[--] (local_overlay_build) Getting overlay from program name
[--] (local_overlay_build) Overlay getted sabayon
[--] (local_overlay_build) Check/Create for local overlay
[--] (check_local_overlay) Extracting overlay from /etc/make.conf...
[--] (check_local_overlay) Found current local overlay at /usr/local/portage
[--] (check_local_overlay) Overlay directory selected /usr/local/portage
[--] (local_overlay_build) Local overlay checked... OK
[--] (local_overlay_build) Getting remote overlay
[--] (sync_remote_overlay) Retrieving list of overlay from layman...
[--] (sync_remote_overlay) Overlay list retrieved by layman
[--] (sync_remote_overlay) Getting remote overlay...
[--] (sync_remote_overlay) Remote overlay acquired
[--] (local_overlay_build) Overlay sabayon acquired!
[--] (local_overlay_build) Extracting dependency
[--] Program beryl require this dependency: x11-wm/beryl-core x11-misc/beryl-manager x11-wm/emerald x11-plugins/beryl-plugins x11-misc/beryl-settings x11-wm/beryl x11-plugins/beryl-dbus x11-themes/emerald-themes
[--] (local_overlay_build) Extraced dependency = "x11-wm/beryl-core x11-misc/beryl-manager x11-wm/emerald x11-plugins/beryl-plugins x11-misc/beryl-settings x11-wm/beryl x11-plugins/beryl-dbus x11-themes/emerald-themes "
[--] (local_overlay_build) Extracing dependency's (beryl-core) overlay name
[--] (local_overlay_build) Overlay for dependency beryl-core is xeffects
[--] (local_overlay_build) Checking if dependency's remote overlay xeffects it's syncronized
[--] Checking xeffects into syncronized overlays...
[--] Overlay xeffects not yet syncronized!
[--] (local_overlay_build) Dependency beryl-core overlay not synched. Syncing...
[--] (sync_remote_overlay) Retrieving list of overlay from layman...
[--] (sync_remote_overlay) Overlay list retrieved by layman
[--] (sync_remote_overlay) Getting remote overlay...
[--] (sync_remote_overlay) Remote overlay acquired
[--] (local_overlay_build) Copying dependency's beryl-core ebuild dir into local overlay /usr/local/portage
[--] (check_local_overlay) Extracting overlay from /etc/make.conf...
[--] (check_local_overlay) Found current local overlay at /usr/local/portage
[--] (check_local_overlay) Overlay directory selected /usr/local/portage
[--] (copy_ebuild_dir) Moving ebuild directory of beryl-core from layman overlay to local... OK[0m]
[--] (local_overlay_build) Dependency beryl-core directory copied!
[--] (local_overlay_build) Extracing dependency's (beryl-manager) overlay name
[--] (local_overlay_build) Overlay for dependency beryl-manager is xeffects
[--] (local_overlay_build) Checking if dependency's remote overlay xeffects it's syncronized
[--] Checking xeffects into syncronized overlays...
[--] Overlay xeffects not yet syncronized!
[--] (local_overlay_build) Dependency beryl-manager overlay not synched. Syncing...
[--] (sync_remote_overlay) Retrieving list of overlay from layman...
[--] (sync_remote_overlay) Overlay list retrieved by layman
[--] (sync_remote_overlay) Getting remote overlay...
[--] (sync_remote_overlay) Remote overlay acquired
[--] (local_overlay_build) Copying dependency's beryl-manager ebuild dir into local overlay /usr/local/portage
[--] (check_local_overlay) Extracting overlay from /etc/make.conf...
[--] (check_local_overlay) Found current local overlay at /usr/local/portage
[--] (check_local_overlay) Overlay directory selected /usr/local/portage
[--] (copy_ebuild_dir) Moving ebuild directory of beryl-manager from layman overlay to local... OK[0m]
[--] (local_overlay_build) Dependency beryl-manager directory copied!
[--] (local_overlay_build) Extracing dependency's (emerald) overlay name
[--] (local_overlay_build) Overlay for dependency emerald is xeffects
[--] (local_overlay_build) Checking if dependency's remote overlay xeffects it's syncronized
[--] Checking xeffects into syncronized overlays...
[--] Overlay xeffects not yet syncronized!
[--] (local_overlay_build) Dependency emerald overlay not synched. Syncing...
[--] (sync_remote_overlay) Retrieving list of overlay from layman...
[--] (sync_remote_overlay) Overlay list retrieved by layman
[--] (sync_remote_overlay) Getting remote overlay...
[--] (sync_remote_overlay) Remote overlay acquired
[--] (local_overlay_build) Copying dependency's emerald ebuild dir into local overlay /usr/local/portage
[--] (check_local_overlay) Extracting overlay from /etc/make.conf...
[--] (check_local_overlay) Found current local overlay at /usr/local/portage
[--] (check_local_overlay) Overlay directory selected /usr/local/portage
[--] (copy_ebuild_dir) Moving ebuild directory of emerald from layman overlay to local... OK[0m]
[--] (local_overlay_build) Dependency emerald directory copied!
[--] (local_overlay_build) Extracing dependency's (beryl-plugins) overlay name
[--] (local_overlay_build) Overlay for dependency beryl-plugins is xeffects
[--] (local_overlay_build) Checking if dependency's remote overlay xeffects it's syncronized
[--] Checking xeffects into syncronized overlays...
[--] Overlay xeffects not yet syncronized!
[--] (local_overlay_build) Dependency beryl-plugins overlay not synched. Syncing...
[--] (sync_remote_overlay) Retrieving list of overlay from layman...
[--] (sync_remote_overlay) Overlay list retrieved by layman
[--] (sync_remote_overlay) Getting remote overlay...
[--] (sync_remote_overlay) Remote overlay acquired
[--] (local_overlay_build) Copying dependency's beryl-plugins ebuild dir into local overlay /usr/local/portage
[--] (check_local_overlay) Extracting overlay from /etc/make.conf...
[--] (check_local_overlay) Found current local overlay at /usr/local/portage
[--] (check_local_overlay) Overlay directory selected /usr/local/portage
[--] (copy_ebuild_dir) Moving ebuild directory of beryl-plugins from layman overlay to local... OK[0m]
[--] (local_overlay_build) Dependency beryl-plugins directory copied!
[--] (local_overlay_build) Extracing dependency's (beryl-settings) overlay name
[--] (local_overlay_build) Overlay for dependency beryl-settings is xeffects
[--] (local_overlay_build) Checking if dependency's remote overlay xeffects it's syncronized
[--] Checking xeffects into syncronized overlays...
[--] Overlay xeffects not yet syncronized!
[--] (local_overlay_build) Dependency beryl-settings overlay not synched. Syncing...
[--] (sync_remote_overlay) Retrieving list of overlay from layman...
[--] (sync_remote_overlay) Overlay list retrieved by layman
[--] (sync_remote_overlay) Getting remote overlay...
[--] (sync_remote_overlay) Remote overlay acquired
[--] (local_overlay_build) Copying dependency's beryl-settings ebuild dir into local overlay /usr/local/portage
[--] (check_local_overlay) Extracting overlay from /etc/make.conf...
[--] (check_local_overlay) Found current local overlay at /usr/local/portage
[--] (check_local_overlay) Overlay directory selected /usr/local/portage
[--] (copy_ebuild_dir) Moving ebuild directory of beryl-settings from layman overlay to local... OK[0m]
[--] (local_overlay_build) Dependency beryl-settings directory copied!
[--] (local_overlay_build) Extracing dependency's (beryl) overlay name
[--] (local_overlay_build) Overlay for dependency beryl is sabayon
[--] (local_overlay_build) Checking if dependency's remote overlay sabayon it's syncronized
[--] Checking sabayon into syncronized overlays...
[--] Overlay sabayon not yet syncronized!
[--] (local_overlay_build) Dependency beryl overlay not synched. Syncing...
[--] (sync_remote_overlay) Retrieving list of overlay from layman...
[--] (sync_remote_overlay) Overlay list retrieved by layman
[--] (sync_remote_overlay) Getting remote overlay...
[--] (sync_remote_overlay) Remote overlay acquired
[--] (local_overlay_build) Copying dependency's beryl ebuild dir into local overlay /usr/local/portage
[--] (check_local_overlay) Extracting overlay from /etc/make.conf...
[--] (check_local_overlay) Found current local overlay at /usr/local/portage
[--] (check_local_overlay) Overlay directory selected /usr/local/portage
[--] (copy_ebuild_dir) Moving ebuild directory of beryl from layman overlay to local... OK[0m]
[--] (local_overlay_build) Dependency beryl directory copied!
[--] (local_overlay_build) Extracing dependency's (beryl-dbus) overlay name
[!!] (get_overlay) OVERLAY_NUMBER is empty. Returning -1
[!!] (get_overlay) OVERLAY_NUMBER is empty. Returning -1
[!!] (local_overlay_build) Error during dependency's overlay name extracting
[!!] Error during local overlay creation! |
in package.overlay.keywords ho inserito x11-wm/beryl 9999, ho provato con ** e -* ma non funzionava mi ritornava questo:
Code: | [!!] (get_overlay) OVERLAY_NUMBER is empty. Returning -1
[--] Package present only in current portage, not into any overlay.
[--] Sorry, today you can't break your gentoo :D
|
la cosa strana é che ha trovato come dipendenza beryl-dbus ma questa non esiste più nelle nuove versioni ed é per quello che si blocca visto che nel overly non c'é.
Ciao, e scusa delle mia ignoranza nel campo, molto probabilmente sono io ad avere sbagliato qualche cosa _________________ ::::. www.almack.ch .:::: |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Mon Feb 19, 2007 1:43 pm Post subject: |
|
|
Il problema sta nel fatto che, invece che avere segnato la ~ come versione di test, beryl utilizza il (~), quindi probabilmente lo fa un pò scazzare con i campi... hai provato ad inserire
Code: | # echo "x11-wm/beryl !9999" >> /etc/portage/package.overlay.keywords |
???
Le versioni di quel pacchetto fanno un pò impazzire lo scrippete..... magari stasera (quando, da casa, potrò usare layman) vedo di fare anch'io un pò di test.
Bionicle wrote: | ... scusa delle mia ignoranza nel campo ... |
Non preoccuparti, siamo tutti ignoranti finchè non si impara
Comunque stai facendo molto test, e questo è mooolto importantissimo (se mi passi lo stravolgimento della linga )
Ciriciao
mouser |
|
Back to top |
|
|
Bionicle Apprentice
Joined: 06 Nov 2004 Posts: 172 Location: TI, svizzera
|
Posted: Tue Feb 20, 2007 7:03 pm Post subject: |
|
|
ciao,
ho visto che la versione é passata alla 0.1.1
ho notato una cosa se voglio installare beryl da overly non deve andare a cercare le dipendenze usando emerge, infatti trova le dimendenze della versione 0.1.4 quella in portage e non quelle della 9999.
ho visto che hai modificato la riga:
Code: | #for SOFTWARE in `emerge --pretend $1 | cut -d']' -f2 | awk '{print $1}' | grep '/' | sed -re 's|-[0-9]+[^-]*(-r[0-9]+)?$||'`; do
for SOFTWARE in `emerge --pretend --columns $1 2> /dev/null | awk '{print $2}'`; do |
secondo me andava meglio prima
Code: | emerge --pretend --columns beryl
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild UD] x11-wm/beryl-core [0.1.4] [9999] USE="-debug%"
[ebuild UD] x11-misc/beryl-manager [0.1.4] [9999] USE="-debug%"
[ebuild UD] x11-wm/emerald [0.1.4] [9999]
[ebuild UD] x11-plugins/beryl-plugins [0.1.4] [9999] USE="-debug%"
[ebuild UD] x11-misc/beryl-settings [0.1.4] [9999] USE="-debug%"
[ebuild UD] x11-wm/beryl [0.1.4] [9999]
[ebuild N ] x11-plugins/beryl-dbus [0.1.4]
[ebuild UD] x11-themes/emerald-themes [0.1.4] [9999]
|
ecco cosa trova:
Code: | emerge --pretend --columns beryl 2> /dev/null | awk '{print $2}'
are
dependencies
UD]
UD]
UD]
UD] |
anche modificando con print $3 non va:
Code: | emerge --pretend --columns beryl 2> /dev/null | awk '{print $3}'
the
.....
x11-wm/beryl-core
x11-misc/beryl-manager
x11-wm/emerald
x11-plugins/beryl-plugins
x11-misc/beryl-settings
x11-wm/beryl
]
x11-themes/emerald-themes
UD]
UD]
N
UD] |
ciao _________________ ::::. www.almack.ch .:::: |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Wed Feb 21, 2007 8:18 am Post subject: |
|
|
Bionicle wrote: | secondo me andava meglio prima
Code: | emerge --pretend --columns beryl
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild UD] x11-wm/beryl-core [0.1.4] [9999] USE="-debug%"
[ebuild UD] x11-misc/beryl-manager [0.1.4] [9999] USE="-debug%"
[ebuild UD] x11-wm/emerald [0.1.4] [9999]
[ebuild UD] x11-plugins/beryl-plugins [0.1.4] [9999] USE="-debug%"
[ebuild UD] x11-misc/beryl-settings [0.1.4] [9999] USE="-debug%"
[ebuild UD] x11-wm/beryl [0.1.4] [9999]
[ebuild N ] x11-plugins/beryl-dbus [0.1.4]
[ebuild UD] x11-themes/emerald-themes [0.1.4] [9999]
|
ecco cosa trova:
Code: | emerge --pretend --columns beryl 2> /dev/null | awk '{print $2}'
are
dependencies
UD]
UD]
UD]
UD] |
anche modificando con print $3 non va:
Code: | emerge --pretend --columns beryl 2> /dev/null | awk '{print $3}'
the
.....
x11-wm/beryl-core
x11-misc/beryl-manager
x11-wm/emerald
x11-plugins/beryl-plugins
x11-misc/beryl-settings
x11-wm/beryl
]
x11-themes/emerald-themes
UD]
UD]
N
UD] |
|
Ma si può essere più stupidi di me!!!!
Mapporca, in effetti in questo modo cambiano i campi..... bon, allora tornerò alla ver. precedente!
Ciriciao e grazie mille!
mouser
[edit]
Questo script è stato ufficialmente aggiunto al gechi-overlay |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Wed Feb 21, 2007 9:00 am Post subject: |
|
|
zolar czakl wrote: | Come viene gestita la presenza di eclass custom? |
Mi potresti spiegare meglio il dubbio che hai???
Se il tuo dubbio è riguardo la compilazione, lo script utilizza portage, quindi una volta lanciato l'emerge dell'ebuild, viene fatto riferimento a quello (e alle eclass che richiama);
Per caso intendevi per quanto riguarda le eclass custom degli overlay?
Ciriciao
mouser |
|
Back to top |
|
|
drizztbsd Retired Dev
Joined: 21 Nov 2004 Posts: 278 Location: Cesano Maderno
|
Posted: Wed Feb 21, 2007 10:00 am Post subject: |
|
|
ehm io ti avevo consigliato di usare emerge --quiet --columns 2>/dev/null (senza spazio), hai dimenticato il --quiet che è sicuramente meglio della regexp nel sed
Code: | drizzt@janeway ~ $ emerge --pretend --quiet --columns beryl 2>/dev/null | awk '{print $2}'
x11-wm/beryl-core
x11-misc/beryl-manager
x11-wm/emerald
x11-plugins/beryl-plugins
x11-misc/beryl-settings
x11-wm/beryl
x11-plugins/beryl-dbus
x11-themes/emerald-themes
drizzt@janeway ~ $ |
_________________ Gentoo/Alt lead
Gentoo/*BSD and Gentoo/FreeBSD deputy lead
Paludis contributor |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Wed Feb 21, 2007 10:08 am Post subject: |
|
|
Drizzt Do` Urden wrote: | ehm io ti avevo consigliato di usare emerge --quiet --columns 2>/dev/null (senza spazio), hai dimenticato il --quiet che è sicuramente meglio della regexp nel sed |
Ok, ho ufficialmente bisogno di sonno
Nel frattempo, ho cambiato la disposizione del software. Leggete il primo post per info sull'installazione
Ciriciao
mouser |
|
Back to top |
|
|
Bionicle Apprentice
Joined: 06 Nov 2004 Posts: 172 Location: TI, svizzera
|
Posted: Wed Feb 21, 2007 3:41 pm Post subject: |
|
|
Riformulo quello che ho notato visto che é passato inosservato:
se voglio emergere beryl lo script cerca le dipendenze ma il problema principale é che le cerca nel portage "stabile" (non ci sono ancora gli ebuild copiati in locale) e quindi trova le dipendenze della versine 0.1.4 che sono differenti da quelle della SVN!!, questo penso che abbia anche influsso con altri pacchetti.
Non saprei come si potrebbe risolvere ma bisognerebbe leggere le dipendenze all'interno del ebuild nel overlay e creare una struttura ad albero, alla fine controllare quelle che bisogna ancora installare.
CIao _________________ ::::. www.almack.ch .:::: |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Wed Feb 21, 2007 8:07 pm Post subject: |
|
|
Bionicle wrote: | Riformulo quello che ho notato visto che é passato inosservato:
se voglio emergere beryl lo script cerca le dipendenze ma il problema principale é che le cerca nel portage "stabile" (non ci sono ancora gli ebuild copiati in locale) e quindi trova le dipendenze della versine 0.1.4 che sono differenti da quelle della SVN!!, questo penso che abbia anche influsso con altri pacchetti. |
Questo viene fatto per mantenere la compatibilità di quegli ebuild in overlay che hanno come dipendenze software presenti anche nel portage stabile.
Questo script, per estrarre le dipendenze prende l'output di eix (alla voce "Available version") ed estrae, come dicevo, l'ultima stabile e così via.
Questo prevede che portage sia già configurato per installare la versione che risulta presente nell'overlay esterno; inoltre il /etc/make.conf deve essere configurato per accedere ad eventuali ebuild presenti negli overlay scaricati da layman; esattamente ci deve essere questa riga
Code: | # cat /etc/make.conf | grep -1 layman
# Source for layman overlay
source "/usr/portage/local/layman/make.conf" |
E, nel caso particolare di beryl, visto che vuoi installare la versione da CVS dovrai avere anche:
Code: | # echo "=x11-wm/beryl-9999" >> /etc/portage/package.keywords |
In modo che l'eventuale comando emerge --pretend beryl cerchi di installare proprio la versione !9999.
Facendo così lo script funzionerà poichè:
Code: | # emerge --quit --pretend beryl 2> /dev/null | awk '{print $2}' |
andrà ad estrarre le dipendenze della versione !9999
Dopodichè, se queste dipendenze sono presenti nello stesso overlay bon, altrimenti le scarica e va avanti così.
Spero di essermi spiegato abbastanza bene..... è molto più semplice farlo che spiegarlo
Ciriciao
mouser |
|
Back to top |
|
|
Ic3M4n Advocate
Joined: 02 Nov 2004 Posts: 3489 Location: Bergamo.
|
Posted: Wed Feb 21, 2007 10:54 pm Post subject: |
|
|
Per quanto riguarda le eclass custom attualmente in molti overlay sono presenti anche le eclass che vanno a sostituire quelle di portage. quindi nel momento in cui vai ad utilizzare layman per aggiungere un ebuild dovresti tener presente che potrebbe esserci un eclass custom che viene importata in portage al posto di quella standard. |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Thu Feb 22, 2007 8:35 am Post subject: |
|
|
Argh, non ne avevo proprio tenuto conto........
Adesso vedo di studiarmi qualcosa
Grazie
edit:
Ho guardato un pò gli ebuild in giro e volevo fare una domandina, visto che non mi sono chiare alcune cose...
1) Come vengono gestite le eclass custom??? Si trovano riferimenti direttamente all'interno degli ebuild o è portage che si occupa di controllare se sono presenti?
2) Come vengono gestiti? Ovvero, se un ebuild utilizza eclass custom, semplicemente all'interno dell'overlay si troverà la directory eclass/ con all'interno file file <nomesw>.eclass?
3) Nel caso può capitare che uno di questi file .eclass fa riferimeno ad altri file .eclass? Se si, come si trova questo riferimento?
Grazie a chiunque mi illumini
Ciriciao
mouser |
|
Back to top |
|
|
zolar czakl Apprentice
Joined: 25 Sep 2004 Posts: 162 Location: UMRK
|
Posted: Thu Feb 22, 2007 7:43 pm Post subject: |
|
|
mouser wrote: | 1) Come vengono gestite le eclass custom??? Si trovano riferimenti direttamente all'interno degli ebuild o � portage che si occupa di controllare se sono presenti? | Il riferimento nell'ebuild e' inherit
Da man 5 ebuild Code: | inherit
Inherit is portageâs maintenance of extra classes of functions that are external to ebuilds and provided as inheritable
capabilities and data. They define functions and set data types as drop-in replacements, expanded, and simplified routines
for extremely common tasks to streamline the build process. Inherit may only be called once in an ebuild and it may never
be wrapped within any conditionals of any kind. Specification of the eclasses contains only their name and not the
.eclass extension. Also note that the inherit statement must come before other variable declarations. |
mouser wrote: | 2) Come vengono gestiti? Ovvero, se un ebuild utilizza eclass custom, semplicemente all'interno dell'overlay si trover� la directory eclass/ con all'interno file file <nomesw>.eclass? | La prima che hai detto. Ovvero anche nella classica /usr/local/portage.
mouser wrote: | 3) Nel caso pu� capitare che uno di questi file .eclass fa riferimeno ad altri file .eclass? Se si, come si trova questo riferimento? | Esempio pratico Code: | grep inherit /usr/portage/eclass/gnome2.eclass
inherit fdo-mime libtool gnome.org gnome2-utils | Praticamente una matriosca |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Fri Feb 23, 2007 7:00 pm Post subject: |
|
|
zolar czakl wrote: | ...
Praticamente una matriosca |
Ma che bello!!! Come sono felice
Comunque, a parte questo, credo che con una funzioncina che funzioni come quella per la gestione della copia degli ebuild dovrebbe essere risolta.
Ora sto combattendo contro alcuni bachetti minori (lo script si incazza se nel /etc/portage/package.overlay.keywords trova due match per pacchetto).... appena risolvo questo vedo di occuparmi delle eclass.
Grazie mille
Ciriciao
mouser |
|
Back to top |
|
|
richard77 Apprentice
Joined: 21 Apr 2004 Posts: 281
|
Posted: Sat Feb 24, 2007 6:00 pm Post subject: Re: [TOOL] Gestione pulita degli overlay con EMERGE-OVERLAY |
|
|
mouser wrote: |
Installazione
Ok, per installare il pacchetto fate in questo modo:
Code: | # cd /tmp/
# wget http://mouser.altervista.org/software/gentoo/emerge-overlay-0.1.1.tar.bz2
# tar jxvf emerge-overlay-0.1.1
# cd emerge-overlay-0.1.1
# ./eoinstall |
Vi installerà emerge-overlay direttamente in /usr/bin
|
Ci sono un paio di errori: il comando è
Code: | # tar jxvf emerge-overlay-0.1.1.tar.bz2 |
(manca .tar.bz2)
Inoltre lo script eoinstall cerca di copiare ~/emerge-overlay in /usr/bin/ invece di ./emerge-overlay. _________________ Fletto i muscoli e sono nel vuoto
Last edited by richard77 on Tue Apr 10, 2007 3:01 pm; edited 1 time in total |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Sun Feb 25, 2007 11:02 am Post subject: Re: [TOOL] Gestione pulita degli overlay con EMERGE-OVERLAY |
|
|
Grazie mille richard77 per la segnalazione. Ho corretto il bug nello script di installazione e modificato il primo post
Ciriciao
mouser |
|
Back to top |
|
|
|