Tecnologia e non solo

ottobre 30, 2007

Awn-core-applets, deb, errori, dpkg-deb e magheggi vari.

Filed under: Debian,Guida pericolosa,Humor,Pacchetti — telperion @ 4:55 pm

In questi giorni se compilate AWN come descritto nella guida,
vi troverete, compilando gli extras awn-core-applets,
con un bel pacchetto deb che non si installa.
Vediamo come risolvere con dpkg-deb.

Il problema installando il pacchetto awn-core-applets:

(Lettura del database … 160174 file e directory attualmente installati.)
Mi preparo a sostituire awn-core-applets 0.2-1~bzr102 (con awn-core-applets_0.2-1~bzr139) …
Spacchetto il sostituto di awn-core-applets …
dpkg: errore processando awn-core-applets_0.2-1~bzr139_i386.deb (–install):
tentata sovrascrittura di `/usr/share/dbus-1/services/org.freedesktop.Notifications.service’, che si trova anche nel pacchetto notification-daemon
Sono occorsi degli errori processando:
awn-core-applets_0.2-1~bzr139_i386.deb

Spacchetto il sostituto di awn-core-applets …
dpkg: errore processando awn-core-applets_0.2-1~bzr139_i386.deb (–install):
tentata sovrascrittura di `/usr/share/gconf/schemas/notification-daemon.schemas’, che si trova anche nel pacchetto notification-daemon
Sono occorsi degli errori processando:
awn-core-applets_0.2-1~bzr139_i386.deb

Questo accade perchè il pacchetto tenta di sovrascrivere due file
già presenti nel sistema e appartenenti ad altri 2 pacchetti,
quindi, giustamente, dpkg si rifiuta di procedere.

Abbiamo 3 soluzioni:

1) aspettare che gli sviluppatori correggano il problema,
o se siamo programmatori lo correggiamo noi stessi.

2) forzare il pacchetto con

sudo dpkg -i --force-all awn-core-applets_0.2-1~bzr139_i386.deb

cosa che non consiglio, visto che forza oggi forza domani,
poi si ottiene un database delle applicazioni incoerente.
La forzatura è da usare solo in casi estremi,
per sostituire un pacchetto con un altro che comunque ripristina le dipendenze.

3) aggiustare il pacchetto, così con la scusa armeggiamo un pò
con i comandi di dpkg-deb e impariamo qualcosa.

Ovviamente optiamo per la soluzione 3,
nonostante la forte voglia di parlarvi di quanto è bello il mio router per almeno 30 righe,
ma vabbè togliamoci sto dente e affrontiamo questa roba noiosa. 😉

dpkg-deb

Nella cartella dove abbiamo il pacchetto deb
scompattiamo il contenuto (data) del pacchetto
in una cartella con lo stesso nome (tranne il .deb)
con il comando:

dpkg-deb -x awn-core-applets_0.2-1~bzr139_i386.deb awn-core-applets_0.2-1~bzr139_i386

Scompattiamo anche la cartella DEBIAN (control) contenuta nel .deb:

dpkg-deb -e awn-core-applets_0.2-1~bzr139_i386.deb

Spostiamo la cartella DEBIAN estratta, dentro la cartella del contenuto del pacchetto:

mv DEBIAN awn-core-applets_0.2-1~bzr139_i386

Rinominiamo il paccheto problematico per non fare errori e per non sovrascriverlo:

mv awn-core-applets_0.2-1~bzr139_i386.deb awn-core-applets_0.2-1~bzr139_i386.deb.bad

Ora cancelliamo i due file che ci danno problemi visti nei messaggi:

/usr/share/dbus-1/services/org.freedesktop.Notifications.service
/usr/share/gconf/schemas/notification-daemon.schemas

dentro la cartella awn-core-applets_0.2-1~bzr139_i386

rm awn-core-applets_0.2-1~bzr139_i386/usr/share/dbus-1/services/org.freedesktop.Notifications.service awn-core-applets_0.2-1~bzr139_i386/usr/share/gconf/schemas/notification-daemon.schemas

(è una riga sola)

Reimpacchettiamo il .deb corretto:

dpkg-deb -b awn-core-applets_0.2-1~bzr139_i386

Ora possiamo installarlo tranquillamente:

sudo dpkg -i awn-core-applets_0.2-1~bzr139_i386.deb

Senza nessun errore.

A vi dicevo, il mio router è bianco, ha 4 led ver………

🙂

Update dal bzr146 delle awn-core-applets
dbus-1/services/org.freedesktop.Notifications.service è stato rimosso
mentre bisogna ancora togliere coi magheggi
gconf/schemas/notification-daemon.schemas
ma ormai dovreste essere capaci a “pescare”.

Aggiornamento del 30 novembre.
Il pacchetto ora su chiama awn-extras-applets-trunk
e gconf/schemas/notification-daemon.schemas è sempre in conflitto.
Ora però lo schema è diverso, quindi se si intendono usare applet che lo utilizzano,
conviene sempre rimuoverlo dal pacchetto per evitare “pastrocchi” nel db delle applicazioni,
ma anzichè cancellarlo copiatevi il file notification-daemon.schemas da qualche parte
ed installatelo a mano con il comando:

gconftool-2 --install-schema-file=notification-daemon.schemas

Eventualmente per ripristinare lo schema originale reinstallate il pacchetto
notification-daemon:

sudo apt-get install --reinstall notification-daemon

Annunci

6 commenti

  1. ahahhahaah 😉
    so a chi ti riferisci con quel router bianc…
    ma non apro bocca che poi si “flamma” 😉

    intopic: bella sta cosa del dpkg-deb
    me ne impari sempre una nuova .. mi devo mettere a studiarla 😀

    Commento di LuNa — ottobre 30, 2007 @ 9:36 pm

  2. ma che caso…è sempre il tipo di cui non si voleva fare nome(ma che è, siamo nei promessi sposi? XD) o sbaglio? 😛

    già il dpkg-deb mi mancava…aggiunta!

    Commento di simo_magic — ottobre 31, 2007 @ 9:08 pm

  3. ciao, ho debian lenny, dopo aver dato l’autogen mi richiede una sfilza di pacchetti non presenti nei repo lenny..

    che faccio? 🙂

    I pacchetti sono tutti elencati nella guida per compilare AWN linkata in testa,
    in Lenny ci sono tutti, prima di compilare il pacchetto awn-core-applets
    è chiaro che bisogna aver compilato/installato tutti i pacchetti di awn.

    In più, qui sei fuori tema.

    Commento di BlSabbatH — ottobre 31, 2007 @ 10:06 pm

  4. […] `/usr/share/dbus-1/services/org.freedesktop.Notifications.service’ … vedi il commento 25 o leggi qui. […]

    Pingback di Avant window manager bzr: come compilarlo (Debian/Ubuntu) « Tecnologia e non solo — novembre 1, 2007 @ 1:32 am

  5. […] Il pacchetto si compila con la guida, e si deve “aggiustare” eliminando dal pacchetto /usr/share/gconf/schemas/notification-daemon.schemas come spiegato qui. […]

    Pingback di Awn-extras bzr 179: non vedevo l’ora! « Tecnologia e non solo — novembre 8, 2007 @ 6:24 pm

  6. […] DA MOLTE VERSIONI IL PACCHETTO NON SI INSTALLA .. tentata sovrascrittura di `/usr/share/gconf/schemas/notification-daemon.schemas BISOGNA RIMOUVERE IL FILE CONTENUTO NEL PACCHETTO CON dpkg-deb awn-core-applets_0.2-1~bzr327_i386/usr/share/gconf/schemas/notification-daemon.schema COME DESCRITTO IN QUESTA GUIDA. […]

    Pingback di Awn-trunk bzr: come compilarlo (Debian/Ubuntu) « Tecnologia e non solo — novembre 24, 2007 @ 8:25 pm


RSS feed for comments on this post.

%d blogger hanno fatto clic su Mi Piace per questo: