Gentoo Logo

Gentoo Weekly Newsletter: 30 maja 2005

Spis treści:

1.  Wiadomości Gentoo

OSU obdarowane hardware'em

Dzięki Chrisowi Parrottowi, który jest archtesterem Gentoo AMD64, oraz deweloperem w fabryce AMD w Austin, Open Source Laboratory na Uniwersytecie Stanu Oregon otrzymało w tym miesiącu niespodziewaną paczkę. Z początku ogłoszono, iż ma być to jeden używany komputer PC, oparty o architekturę AMD64, później jednak okazało się, iż chodzi o trzy dwuprocesorowe płyty główne razem z sześcioma procesorami, oraz 3GB DDR RAMu.


Ilustracja 1.1: Prosto z pudełka: podarowane płyty główne AMD64

Fig. 1: mobos

Jedna z maszyn zostanie przeznaczona dla zespołu release engineering, gdzie będzie używana do tworzenia nowych wydań, w tym LiveCD, stage instalacji i innych celów. Pozostałe dwie staną się ogólnymi platformami deweloperskimi zespołu Gentoo/AMD64 i będą udostępniane na życzenie deweloperów Gentoo i innych. Bardzo dziękujemy Chrisowi Parrottowi i firmie AMD za ten hojny dar!

Co nowego w dokumentacji?

Tym, którzy chcą tworzyć dokumentację dla Gentoo proponujemy zabawę: Jeśli chcesz sprawdzić swoje umiejętności w dziedzinie pisania poprawnego, czystego kodu XML dokumentacji Gentoo, przejrzyj "olśniewająco brzydki" okaleczony dokument, przygotowany przez zespół dokumentacji jako część quizu. Jeśli potrafisz go poprawić, przeczytaj potem uaktualnione zasady stawania się członkiem dokumentacyjnej siły uderzeniowej i pomóż im przy innych typowych zadaniach: Najciekawsze pozycje z zeszłego miesiąca obejmują przewodnik konfiguracji KDE, który nadrabia różnice w stosunku do kilku aplikacji z podzielonych plików ebuild KDE w wersjach powyżej 3.4, nowości w poradnikach Gentoolkit i Wprowadzenie do Portage, które zostały przerobione, aby odwzorować zmiany i dodatki, oraz wiele innych drobnych poprawek, które sprawiają, że dokumentacja Gentoo staje się jeszcze lepsza. Listę wszystkich zmian z ostatniego miesiąca można znaleźć na stronie ze statusem dokumentacji.

2.  Deweloper tygodnia

"Daj Gentoo szansę, a przekonasz się, że inaczej nie będziesz już chciał" -- Damien Krotkine


Ilustracja 2.1: Damien Krotkine aka dams

Fig. 1: dams

Damien Krotkine lub dams, jest oficjanie jednym z maniaków PPC, administrującym kilkoma ebuildami programów, których używa na co dzień. Faktycznie spędza jednak większość czasu w projekcie Gentoo na tworzeniu narzędzi konfiguracyjnych i podobnych rzeczy. Był niegdyś liderem - nieaktywnego już - Projektu Rozwoju Desktopu. Poza Gentoo udziela się i gdzie indziej: jest autorem logo projektu PLF (Front Wyzwolenia Pingwina), oraz zajmował się hakowaniem w perlu (robiąc tak szalone rzeczy, jak np. wykorzystywanie wewnętrznych obiektów Mozilli w perlu poprzez perl-XPCOM). Jako że, cechuje się raczej skromnym i cichym usposobienie, nie jest specjalnie dumny ze swoich osiągnięć, ale ale kominacja perla i gtk - w Jego rękach - oznacza niezłe sztuczki.

Uczył się w szkołach w różnych miejscach, takich jak Frankfurt czy Paryż, studiował także informatykę, ale nie ma o tej uczelni najwyższego mniemania. Jego codzienna praca nie ma tyle wspólnego z Gentoo, ile by sobie tego życzył, ale tworzenie dla francuskiej firmy oprogramowania opartego o Mozillę i open-source'owy silnik wyszukujący, jest dla niego zajęciem akceptowalnym.

Ostatnio zmniejszył ilość posiadanych komputerów, ale wciąż posiada ich imponującą kolekcję, włączając Athlona, PegasosPPC i iBooka. Jego skłonność do perla i emacsa niestety sprawia, że często przegrywa wojny na flame'y, ale też jest całkiem dobry w unikaniu tychże. Inne jego ulubione aplikacje to screen, zsh i Firefox, które prawie zawsze są otwarte na jednym lub wszystkich jego komputerach. icewm i enlightenment to z kolei jego ulubione menedżery okien. Jego klient poczty to obecnie Thunderbird (zamiast gnus - dams lubi właściwe narzędzia na właściwym miejscu).

Ponieważ równy z niego gość, lubi jeździć na rolkach, snowboardzie oraz uprawiać wspinaczkę. Był niegdyś - z czego jest naprawdę bardzo dumny - "znanym członkiem drużyny Sporks Of Chaos" (MK: ???). Kiedy nie pracuje ani nie programuje, stara się bywać na imprezach opensource'owych. Ponieważ mieszkanie w Paryżu czyni go bardzo francuskim indywiduum, uwielbia zajmować się podsycaniem stereotypów, poprzez bycie typowym śliskim, francuskim uwodzicielem. Na razie jednak kandydatki na żonę nie spotkał.

3.  Społeczność Gentoo

gentoo-dev

dbając o świeżość ebuildów

W miarę upływu czasu niektóre ebuildy nie są już uaktualniane w pożądanym stopniu. W poniższym wątku pojawiło się wiele pomysłów na to, jak umożliwić użytkownikom testowanie i zarządzanie ebuildami nowych wersji programów z drzewa portage.

bashrc Mini-HOWTO

Chris White napisał przydatne mini-howto o wykorzystaniu pliku bashrc w portage - jeżeli nie wiesz za bardzo o co chodzi, to howto przypuszczalnie nie jest dla Ciebie, ale mówiąc w skrócie, pokazuje ono moc najnowszych wersji portage z CVS.

prośba o testowanie baselayout

Mike Frysinger prosi o testowanie nowego baselayout 1.11.12-r2 - najnowszej i zapewne lepszej wersji skryptów baselayout. W tej wersji mogły pojawić się błędy, ponieważ zmieniło się wiele rzeczy, a kilka elementów zostało zmodularyzowanych. Tak więc, jeżeli chcesz pomóc i nie przeszkadza Ci potencjalne zdemolowanie systemu, przeczytaj ogłoszenie Mike'a i baw się dobrze.

4.  Międzynarodowe Gentoo

Kanada: Sympozjum Linuksowe w Ottawie

Ottawa Linux Symposium (OLS) odbędzie się w dniach 20 do 23 sierpnia 2005. Deweloper Gentoo PPC64 Omkhar Arasaratnam zamierza wziąć w nim udział, jeśli więc chcielibyście dołączyć do spotkania użytkowników i deweloperów Gentoo w Ottawie przy okazji sympozjum, należy skontaktować się bezpośrednio z nim.

Japonia: impreza Open Source wraz z GentooJP

Około 50 japońskich deweloperów i zaawansowanych użytkowników Gentoo spotka się 3 lipca na Open Source Party, przy okazji imprezy Linuxworld w Tokyo. Rozpocznie się ona o 19:00 w oddziale T.G.I. Friday's w Ginzie. Podobno pojawić ma się założyciel GentooJP, Masatomo Nakano, składając wizytę aż z Londynu. Nie ma potrzeby zgłaszać chęci wzięcia udziału w imprezie na liście mailowej GentoJP, wystarczy od razu zapisać się na stronie rezerwacji.

5.  Gentoo w prasie

LinuxUser (maj/czerwiec 2005)

Niemiecki magazyn LinuxUser w ostatnim numerze opublikował miniserię artykułów o tytule "Gentoo-Mini-Series". Pierwszy z nich dotyczył poprawnej instalacji systemu: "Gentoo Linux dostarcza produkt dopasowany do indywidualnych wymagań: Zmyślna dystrybucja może być doskonale spersonalizowana dla poszczególnych użytkowników." Drugi i ostatni artykuł z serii opisuje metody zarządzania i poprawnego używania systemu Portage. Angielska wersja prawdopodobnie ukaże się w edycji angielsko/amerykańskiej Linux Magazine w przeciągu dwóch miesięcy. Jako pierwszy z sukcesów artykułów dotyczących Gentoo w LinuxUser można zaliczyć zarażenie się przez głównego edytora "wirusem Gentoo". Zainfekowana osoba nie mogła się powstrzymać i uległa słodkiej pokusie własnoręcznej instalacji Gentoo.

The Triangle (20 maja 2005)

W artykule zatytułowanym "Debate pits open source Linux against Microsoft", gazeta studencka wydawana na uniwersytecie w Drexel, opisuje imprezę zorganizowane przez uniwersyteckie Stowarzyszenie Matematyków i Informatyków. Na zakończenie szczegółowej debaty pomiędzy akademickim mendżerem od spraw Microsoftu i członkiem lokalnej grupy użytkowników Linuksa, Gentoo zostało wymienione jako przykład jak powinien wyglądać system 64bitowy, nie tylko samo jądr, ale także wszystkie aplikacje powinny być skompilowane na wykorzystywanej architekturze.

6.  Kącik Programisty

Wstęp

Krótka prezentacja narzędzi konfiguracyjnych damsa: (wcięcia w kodzie mogą być niepoprawne. Jeśli masz jakieś pytana zapytaj damsa)

Libconf

Uwaga: Strona projektu: http://libconf.net
Co to jest: umożliwia łatwy odczyt/zapis konfiguracji różnych narzędzi

Dobra, przypuśćmy że chcesz edytować konfigurację gdm, i ustawić użytkownika, który będzie automatycznie logowany przy starcie systemu. Zobaczymy, czy libconf to umożliwi. Uruchom na konsoli:

Listing 6.1: launch libconf

libconf
			

Ilustracja 6.1: linia poleceń libconf

Fig. 1: sc_libconf1

Następnie uruchomimy wbudowany system pomocy:

Listing 6.2: libconf help

help
			

zobaczysz komendę 'list_templates', następnie wpisze

Listing 6.3: list_templates

list_templates
			

Ilustracja 6.2: lista dostępnych szablonów

Fig. 2: sc_libconf2

Generic/Shell jest jednym z najczęściej używanych, istnieją także inne. Jak możesz się przekonać dostępny jest także szablon 'X/Gdm'. Zobaczmy jakie możliwości oferuje:

Listing 6.4: options for X/Gdm

list_template_options X/Gdm
			

Ilustracja 6.3: opcje X/Gdm

Fig. 3: sc_libconf3

Widać, że system pomocy informuje o konieczności skorzystanie z man Libconf::Glueconf::X::Gdm. Ale jeśli spróbujesz okaże się, że podany podręcznik nie istnieje, jest tak dlatego, że nie został jeszcze napisany. Myślisz, że sytuacja wygląda beznadziejnie? Nieważne, przekonasz się, że nie jest tak źle.

Następnie napiszmy krótki skrypt w perlu:

Listing 6.5: gdm_autologin.pl

#!/usr/bin/perl
# first of all, include the libconf template module
use Libconf::Glueconf::X::Gdm;
# then use the template
my $gdm_conf = Libconf::Glueconf::X::Gdm->new({ filename =>
'/etc/X11/gdm/gdm.conf' });
# now we would like to see what the structure looks like
use Data::Dumper;
print Dumper($gdm_conf) . "\n";
# that will print the content of the structure
			

Zapisz plik jako gdm_autologin.pl, ustaw plik jako wykonywalny i uruchom go:

Listing 6.6: launch gdm_autologin.pl

./gdm_autologin.pl
			

Ilustracja 6.4: structura zrzucona przez gdm_autologin.pl

Fig. 4: sc_libconf4

Nie trzeba się specjalnie wysilać by zrozumieć budowę struktury. Teraz chcemy pobrać nazwę użytkownika i ustawić go jako tego, który będzie automatycznie logowany przy starcie systemu. Aby tego dokonać używamy:

Listing 6.7: pobrać nazwę użytkownika jako argument i ustawić go jako automatycznie logowanego

$gdm_con->{daemon}{AutomaticLogin} = $user;
			

Tak wygląda kompletny skrypt

Listing 6.8: kompletny skrypt automatycznego logowania

#!/usr/bin/perl
# first of all, include the libconf template module
use Libconf::Glueconf::X::Gdm;
# get the first argument
my $user = $ARGV[0] or die 'please give me one parameter';
# use the template
my $gdm_conf = Libconf::Glueconf::X::Gdm->new({ filename =>
'/etc/X11/gdm/gdm.conf' });
# change the autologin field
$gdm_conf->{daemon}{AutomaticLogin} = $user;
# then write the structure back to the file
$gdm_conf->write_conf();
			

Gotowe. Możesz się przekonać, że libconf automatycznie użył odpowiednich wcięć tak by plik był bardziej czytelny. Jeśli nie interesuje cię taka funkcjonalność, dodaj następującą komendę przed tworzeniem pliku wynikowego:

Listing 6.9: nie pozwól aby libconf automatycznie tworzył wcięcia

$Libconf::Templates::Indentspaces = '';
			

Uwaga: Więcej dokumentacji (niestety jeszcze niekompletna)

Gtk2Fu

Uwaga: Strona projektu: http://libconf.net/gtk2-fu/
Co to jest: Warstwa nad perl-gtk2, która ułatwia korzystanie i powiększa jego funkcjonalność.

gtk2fu jest bardzo proste: udostępnia większe możliwości i ułatwia do nich dostęp. Istnieje także pełna dokumentacja.

Teraz, jeśli już zapoznałeś się dokumentacją, powinieneś móc stworzyć trochę prostego kodu. Poniżej, w pełni funkcjonująca, prosta aplikacja umożliwiająca edycję z użyciem GUI funkcji automatycznego logowania z użyciem wcześniej stworzonego skryptu i pomocy libconf:

Listing 6.10: GUI dla funckji automatycznego logowania gdm bazujące na libconf

#!/usr/bin/perl

# first of all, include the libconf template module
use Libconf::Glueconf::X::Gdm;
my $gdm_conf = Libconf::Glueconf::X::Gdm->new({ filename =>
'/etc/X11/gdm/gdm.conf' });
$Libconf::Templates::Indentspaces = '';

# include Gtk2Fu
use Gtk2Fu qw(:all);
# initialize Gtk2;
Gtk2->init;

# create the window
my $main_window = create_window();
my $entry;
# create the menubar
my ($menubar, $item_factory) = $main_window->create_full_menubar(
   [
     [ '/_File', undef, undef , 0, '<Branch>' ],
     [ '/File/_Save', '<control>S', sub { $gdm_conf->write_conf();
Gtk2->main_quit }, 0, '<StockItem>', 'gtk-save' ],
     [ '/File/_Quit', '<control>Q', sub { Gtk2->main_quit }, 0,
'<StockItem>', 'gtk-quit' ],
   ]
   );
# create the widgets, handlers, and actions
$main_window->signal_connect_(destroy => sub { Gtk2->main_quit } )
  ->add_(Gtk2::VBox->new(0,0)
         ->gtkpack_(0, $menubar,
                    1, Gtk2::VBox->new(0, 0)
                       ->gtkpack_(1, Gtk2::HBox->new(0, 0)
                                     ->gtkpack_(0, 'Gdm AutomaticLogin',

1, $entry = Gtk2::Entry->new()
            ->set_text_($gdm_conf->{daemon}{AutomaticLogin})
      ->signal_connect_(changed => sub {

$gdm_conf->{daemon}{AutomaticLogin} = $entry->get_text();
                                                                     } )
                                               )
                                  )
                      ->set_border_width_(5),
                    0, Gtk2::HSeparator->new(),
                    0, Gtk2::HButtonBox->new()
                       ->set_spacing_default_(10)
                       ->set_layout_('end')

- ->gtkpack(Gtk2::Button->new_from_stock('gtk-cancel')
                                 ->set_border_width_(5)
                                 ->signal_connect_(clicked => sub {
Gtk2->main_quit; }),
                                 Gtk2::Button->new_from_stock('gtk-ok')
                                 ->set_border_width_(5)
                                 ->signal_connect_(clicked => sub {
$gdm_conf->write_conf(); Gtk2->main_quit; })
                                )
                   )
        )
  ->show_all();
Gtk2->main;
			

Zapisz wszystko jako test.pl, dodaj atrybut wykonywalności i uruchom. Zobaczysz coś takiego:


Ilustracja 6.5: okienko testowe gtk2fu

Fig. 5: test.pl

Aplikacji jest w pełni funkcjonalna, gdy uruchomiona przez użytkownika root oraz dokonasz zmiany zawartości pola edycyjnego, a na koniec zapiszesz zmiany. W przypadku interfejsu tekstowego posłużyłem się podobnym podejściem tylko że z użyciem perl-ncurses by zbudować tekstowe GUI.

Na dzisiaj to wszystko, zaprezentowałem tylko podstawowe możliwości zestawu libconf+gtk2fu+ncurses. Mam nadzieję, że dzięki temu wprowadzeniu będziesz teraz wiedział co robić dalej, lub gdzie poszukać dodatkowych informacji. Jeśli interesuje cię dołączenie do grupy zajmującej się narzędziami do konfiguracji, skontaktuj się ze mną.

7.  Odeszli, przybyli, zmienili status

Odeszli

Następujący developerzy opuścili projekt Gentoo Linux w minionym tygodniu:

  • nikt w tym tygodniu

Przybyli

Następujący developerzy przyłączyli się do projektu Gentoo Linux w minionym tygodniu:

  • nikt w tym tygodniu

Zmienili status

Następujący developerzy zmienili w minionym tygodniu pełnioną w projekcie Gentoo Linux funkcję:

  • Mike Doty (kingtaco) - AMD64 strategic lead (zastąpił Jasona Huebela)
  • Simon Stelling (blubb) - AMD64 operational co-lead (wraz z Dannym van Dykiem)
  • David Holm (dholm) - PPC strategic lead
  • Luca Barbato (lu_zero) - PPC operational lead
  • Lars Weiler (pylon) - PPC release engineering (ustąpił ze stanowiska tactical lead)
  • Markus Rothe (corsair) - PPC64 Security
  • Daniel Ostrow (dostrow) - PPC profile maintainer
  • Joseph Jezak (josejx) - PPC documentation lead

8.  Gentoo security

Qpopper: Kilka usterek

Qpopper zawiera dwie usterki, umożliwiające nadpisywanie dowolnych plików i tworzenie plików z podwyższonymi uprawnieniami.

Więcej informacji można znaleźć w komunikacie GLSA

Net-SNMP: Usterka w tworzeniu plików tymczasowych

Net-SNMP tworzy pliki tymczasowe w niebezpieczny sposób, potencjalnie umożliwiając wykonywanie niepożądanego kodu.

Więcej informacji można znaleźć w komunikacie GLSA

gxine: Usterka format string

Usterka format string w gxine może pozwolić na zdalne wykonywanie niepożądanego kodu.

Więcej informacji można znaleźć w komunikacie GLSA

Mailutils: Kilka usterek w imap4d i mail

Serwer imap4d i narzędzie mail z GNU Mailutils zawierają kilka usterek, potencjalnie umożliwiając zdalne wykonywanie niepożądanego kodu z uprawnieniami roota.

Więcej informacji można znaleźć w komunikacie GLSA

9.  Bugzilla

Spis treści

Statystyki

Społeczność Gentoo używa Bugzilli (bugs.gentoo.org) do zgłaszania i śledzenia błędów, ogłoszeń, sugestii oraz innych form kontaktu z developerami. Pomiędzy 22 a 29 maja 2005, aktywność w serwisie przedstawiała się następująco:

  • zgłoszono 835 nowych bugów
  • zamknięto lub rozwiązano 474 bugi
  • 35 uprzednio zamkniętych bugów zostało ponownie otwartych

Spośród 8480 obecnie otwartych bugów: 85 oznaczono jako 'blocker', 217 jako 'critical', a 615 jako 'major'.

Zamknięte Bugi

Developerzy oraz zespoły, które zamknęły najwięcej bugów w minionym tygodniu, to:

Nowe Bugi

Developerzy oraz zespoły, które zamknęły najwięcej bugów w minionym tygodniu, to:

10.  Subskrybcja GWN

Aby zasubskrybować Gentoo Weekly Newsletter, wyślij pustego e-maila na adres gentoo-gwn+subscribe@gentoo.org.

Aby zrezynować z subskrybcji, wyślij pustego e-maila na adres gentoo-gwn+unsubscribe@gentoo.org z konta, na które jest zarejestrowana.

11.  Inne języki

Gentoo Weekly Newsletter jest dostępny w następujących językach:



Drukuj

Zaktualizowano 30 maja 2005

Podsumowanie: Gentoo Weekly Newsletter z 30 maja 2005.

Ulrich Plate
Redaktor naczelny

Daniel Herzog
Redaktor

Damien Krotkine
Redaktor

Patrick Lauer
Redaktor

Lars Weiler
Redaktor

Kuba Bożanowski
Tłumacz

Michał Kulczycki
Tłumacz

Michał Kurgan
Tłumacz

Łukasz Strzygowski
Tłumacz

Donate to support our development efforts.

Support OSL
Gentoo Centric Hosting: vr.org
Tek Alchemy
SevenL.net
Global Netoptex Inc.
Bytemark
Online Kredit Index
Copyright 2001-2009 Gentoo Foundation, Inc. Questions, Comments? Contact us.