Gentoo Weekly Newsletter: 30 maja 2005
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 |
 |
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 |
 |
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 |
 |
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 |
 |
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 |
 |
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 |
 |
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 |
 |
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:
Przybyli
Następujący developerzy przyłączyli się do projektu Gentoo Linux w minionym 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:
|