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!
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.
"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ł.
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.
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.
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.
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.
Krótka prezentacja narzędzi konfiguracyjnych damsa: (wcięcia w kodzie mogą być niepoprawne. Jeśli masz jakieś pytana zapytaj damsa)
Uwaga:
Strona projektu: http://libconf.net |
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) |
Uwaga:
Strona projektu: http://libconf.net/gtk2-fu/ |
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
Następujący developerzy opuścili projekt Gentoo Linux w minionym tygodniu:
Następujący developerzy przyłączyli się do projektu Gentoo Linux w minionym tygodniu:
Następujący developerzy zmienili w minionym tygodniu pełnioną w projekcie Gentoo Linux funkcję:
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
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
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:
Spośród 8480 obecnie otwartych bugów: 85 oznaczono jako 'blocker', 217 jako 'critical', a 615 jako 'major'.
Developerzy oraz zespoły, które zamknęły najwięcej bugów w minionym tygodniu, to:
Developerzy oraz zespoły, które zamknęły najwięcej bugów w minionym tygodniu, to:
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.
Gentoo Weekly Newsletter jest dostępny w następujących językach: