Portál AbcLinuxu, 14. června 2025 04:53

Patchujeme regresi v nejnovějším GNOME

14.11.2007 17:24 | Přečteno: 1160× | Ani zbla | Výběrový blog | poslední úprava: 14.11.2007 21:20

Minule jsem psal o upgradu na Ubuntu. Nakonec to prošlo docela hladce, ale stěžoval jsem si, že mi občas zamrzne panel.

Vyklubal se z toho dost nepříjemný problém. Gnome-panel používám vertikálně, protože se tak líp využívá místo na obrazovce, zvláště u širokoúhlých notebooků. Klasická konfigurace dvou horizontálních panelů vede na širokou nudli místo obrazovky - pro brouzdání na webu a psaní textu krajně neergonomické.

Tak tedy poslouchejte: když otevřu víc než 7 oken, gnome-panel zamrzne, zatíží procesor a začne žrát paměť. Myslel jsem, že je to chyba Ubuntu, ale je to regrese v GNOME 2.20 - stejně jsem dopadl v OpenSUSE. Viz bugreport.

Byl jsem z toho nešťastný, systém s takovým omezením fakt nesnesu. Našel jsem jen bugreport bez řešení, tak jsem byl rozhodnutý si tu chybu opravit sám, aspoň bych komunitě jednou k něčemu byl. Dokonce jsem si vybildil celé Gnome from scratch a našel funkci, kterou se to zacyklí.

Jenže pak jsem zjistil, že stejný bug je nahlášen i jinde a jsou tam patche. Nemá cenu čekat na 2.20.2 a pak na Ubuntu, tohle si musím patchnout sám. Navíc ty patche nejen že řeší to zamrzání, ale zároveň udělají z vertikálního panelu plnohodnotnou alternativu, ne chudého bratříčka bez textových popisků.

Patchujeme DEBy

Tak tedy, jedná se o nemocné komponenty gnome-panel a libwnck22. Budu patchovat Ubuntí zdrojáky. Předpokládám, že překladač a autotools má každý nainstalené. Teď ještě bude potřeba stáhnout podporu pro vývoj deb balíčků.

apt-get install fakeroot
apt-get install dpkg-dev
apt-get install devscripts

Zdrojáky se stáhnou takto:

apt-get source libwnck22
apt-get source gnome-panel

Teď je potřeba stáhnout hromadu dev balíčků, aby to šlo přeložit. Ta hromada bude tím menší, čím víc jste v minulosti překládali pro GNOME. (V gentů takovou hromadu třeba vůbec nevedou.)

apt-get build-dep libwnck22
apt-get build-dep gnome-panel

Teď je dobré zkusit to vybildit bez patchů, aby bylo vidět, že to funguje. To se provede příkazem (v adresáři balíku).

debuild -us -uc

Tak teď to patchování. Patche jou tyto dva. Bohužel ty patche nejsou přesně proti těm verzím z Ubuntu. Z Gnome SVN je potřeba stáhnout revizi 1379 tasklist.c a pro jistotu i 10485 window-list.c. Košer to teda není, ale funguje to. Pak jdou patche aplikovat.

Pak jde vybildit opatchovaná libwnck22, tedy vybildit jde, ale nechce se slinkovat. Problém je s novým souborem obox.c, který přidá ten patch. Ačkoliv příslušný Makefile je ok. Nejsem expertem na autotools a tak jsem tento problém vyřešil v nejlepším duchu hackerství - obsah obox.c jsem vložil do tasklist.c.

Až vybildíte libwnck22, hned příslušné balíky nainstalujte

dpkg -i libwnck*.deb

Ono totiž libwnck-dev_2.20.0-0ubuntu1_i386.deb je potřeba k vybildění opatchovaného gnome-panelu. Po vybildění gnome-panelu nainstalujte vygenerované balíčky kromě toho debugovacího.

Ještě zbývá přemluvit balíčkovací systém, aby nepřepsal pracně vygenerované balíčky novější, ale zabugovanou verzí. To se udělá například takto:

echo "gnome-panel hold" | dpkg --set-selections

A hotovo. Far from perfect, ale můžu zase pracovat. Mám rád opensource.

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

Patchujeme regresi v nejnovějším GNOME, obrázek 1

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

14.11.2007 17:28 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
Odpovědět | Sbalit | Link | Blokovat | Admin
Hezké, jen by to chtělo opravit tenhle bug..
udělají s vertikálního panelu
alblaho avatar 14.11.2007 17:48 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
RESOLVED | FIXED
Fluttershy, yay! avatar 14.11.2007 18:00 Fluttershy, yay! | skóre: 93 | blog:
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
Odpovědět | Sbalit | Link | Blokovat | Admin
<rádoby-vtipná-poznámka>
KDE rulezzz!!!
</rádoby-vtipná-poznámka>

Omluvte mě, ale já si to opravdu nemohl odpustit.

🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána
David Ježek avatar 14.11.2007 18:06 David Ježek | skóre: 83 | blog: Mostly_IMDB
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
Odpovědět | Sbalit | Link | Blokovat | Admin
btw že jsem tak smělý ... francouzsky?
14.11.2007 18:08 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
Já bych se spíš zeptal na barvu pozadí...i když to s tím může souviset... :-D
David Ježek avatar 14.11.2007 18:10 David Ježek | skóre: 83 | blog: Mostly_IMDB
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
no můj názor je, že francouzština je krásný jazyk, zatímco růžová je odporné pozadí. ale to je čistě věc vkusu, já mám jako pozadí odpornou černou ;-)
14.11.2007 18:13 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
Nous sommes d'accord sur ça, mon ami. ;-)
David Ježek avatar 14.11.2007 18:19 David Ježek | skóre: 83 | blog: Mostly_IMDB
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
tohle jsem pobral i bez babylonský rybky :-)
alblaho avatar 14.11.2007 18:18 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
To není sceenshot autora patchu.
alblaho avatar 14.11.2007 18:43 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
To JE sceenshot autora patchu. Není můj :-)
freshmouse avatar 14.11.2007 23:01 freshmouse | skóre: 42 | blog: Bruno Banány
Rozbalit Rozbalit vše Re: Patchujeme regresi v nejnovějším GNOME
Odpovědět | Sbalit | Link | Blokovat | Admin
U vertikálního panelu je problém se seznamem oken -- položky jsou špatně vykresleny (ne jako na obrázku, tam je to správně). Takže už nemám oznamovat chybu, je to oznámené (chtěl jsem to už dřív, ale zapomnělo "se" na to)?

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.