Nightlies i ftp.mozilla.org dla opornych

Pomyślałem sobie dzisiaj, że warto zrobić mały przewodnik po “eftepie” Mozilli i jego zawartości, co powinno w przyszłości zapobiec pomyłkom takim jak ta opisana w poprzedniej notce.

Na początek – mamy tak naprawdę dwa serwery z plikami Mozilli: releases.mozilla.org i ftp.mozilla.org.

releases.mozilla.org (dostępny także przez protokół FTP) to serwer, na którym znajdują się oficjalne wydania programów. Najczęściej to ten serwer jest mirrorowany. Co my tu mamy:

  • addons – katalog z rozszerzeniami i motywami z serwisu addons.mozilla.org. Jedyny katalog, w którym znajduje się głównie oprogramowanie osób spoza Mozilla.org.
  • bouncer – katalog z plikiem konfiguracyjnym “bouncera”, zapewniający właściwą synchronizację mirrorów. Nic interesującego dla nikogo poza adminami serwerów lustrzanych.
  • w pozostałych katalogach znajdziemy wszystkie oficjalne wydania aplikacji Mozilli, od Firefoksa i Thunderbirda przez SeaMonkey i Camino po XULRunnera.

Jeden drobiazg – nie ma sensu pobierać plików bezpośrednio z tego serwera. Pobierając Firefoksa czy Thunderbirda ze strony oficjalnej (Firefox – tutaj) zostaniemy przekierowani do właściwego regionalnie serwera lustrzanego. Nie obciążajmy r.m.o – zwłaszcza w dniach wydań głównych wersji – dzięki temu wiecej osób będzie mogło bez problemów pobrać oprogramowanie.

ftp://ftp.mozilla.org/ – główny FTP Mozilli,  (dostępny też po HTTP). Na nim z kolei mamy, oprócz pełnej zawartości r.m.o, także:

  • OJI – bardzo stare pliki wtyczki Javy dla bardzo starych Macintoshy. Obecnie nic ciekawego.
  • artwork – okładki oficjalnych płytek CD-ROM z Firefoksem 1.0, Thundebirdem i śp. pakietem Mozilla.
  • cck – czyli Client Customization Kit, dzięki któremu możemy zbudować własnego Firefoksa z innymi ustawieniami niż domyślne (uwaga: rozpowszechnianie takiej modyfikacji bez zmiany nazwy na niezawierającą słowa “Firefox” podlega szczególnym ograniczeniom; szczegóły na podlinkowanej stronie)
  • chimera – tak kiedyś nazywało się Camino, katalog ten zawiera bardzo stare wersje tej przeglądarki dla Mac OS X
  • data i profiles– wyniki różnych testów, którym poddawano Firefoksa czy SeaMonkey; pliki bardzo stare…
  • directory – Mozillowy (powiedziałbym nawet: “postnetskejpowy”) SDK dla usług katalogowych LDAP. Nic ciekawego dla zwykłego użytkownika Firefoksa i Thunderbirda.
  • diskimages – obrazy ISO ww. płytek z Firefoksem i Thunderbirdem 1.0.x
  • firebird, phoenix – tak kiedyś nazywał się Firefox; katalogi te zawierają stare wersje i bardzo nieaktualne nightlies programu.
  • grendel – klient poczty w Javie… Jedyna w jakimś sensie zrealizowana część projektu Javagator, którego celem było wykonanie wersji Netscape Communicatora w Javie. Udało się zrobić tylko klienta poczty. Katalog zawiera archiwa z kodem źródłowym. W pewnym sensie Grendel jest protoplastą Thunderbirda – pierwszym klientem poczty Mozilli nie będącym (aczkolwiek nie z założenia ;-)) częścią pakietu typu Mozilla 1.0…
  • js – kod źródłowy interpreterów JavaScriptu Mozilli. Znajdziemy tu zarówno SpiderMonkey (napisany w C++; część Gecko, a zatem i Firefoksa), jak i Rhino (implementacja JS w Javie) oraz nowy, powstający na bazie kodu ofiarowanego przez Adobe, Tamarin.
  • l10n-kits – pliki przydatne (dawno temu) dla osób zajmujących się tłumaczeniem Netscape 6 i Firefoksa 0.10. Ogólnie śmietnik pełen do niczego nie przydatnych dziś staroci. :)
  • minimo – wydania i nightlies anulowanego projektu przeglądarki opartej na Gecko dla Windows CE i Linuksa/arm.
  • mobile – tu znajdą się pliki nowego projektu przeglądarki z Gecko dla urządzeń mobilnych
  • mozilla.org – link symboliczny, wskazuje do tego samego katalogu…
  • mozilla – wydania, nightlies oraz przeróżne nieaktualne materiały dotyczące śp. pakietu Mozilla (w tym wywiady, prezentacje, nagrania…)
  • msgsdk – zabytkowy SDK do pisania klientów śp. Netscape Messaging Servera, plik z 1998 roku…
  • nsprNetscape Portable Runtime, pliki źródłowe mozillowej nakładki na biblioteki w rodzaju libc.
  • security – biblioteki odpowiadające za szyfrowanie, aktywnie rozwijana jest dziś tylko NSS (Netscape Security Services vel Network Security Services); w katalogu kod źródłowy poszczególnych wydań i różne inne pliki, których, wybaczcie, nie chciało mi się sprawdzać. :)
  • webtools – zawiera kod źródłowy poszczególnych wydań Bugzilli i… IRC-owego bota “Mozbot“. :)

Teraz przyjrzyjmy się podkatalogom pominiętym powyżej: firefox, thunderbird, seamonkey, camino, xulrunner. Będę te katalogi omawiał na przykładzie Firefoksa, bo ich struktura jest identyczna.

  • releases –  oficjalne wydania, to samo, co na serwerze releases.mozilla.org.
  • nightly – posegregowane według dat i wersji (ściślej, gałęzi w CVS) codziennie budowane pakiety Firefoksa dla 3 głównych systemów (Windows, Mac OS X, Linux/i686). Najnowsze pakiety z danej gałęzi znajdują się w katalogach o nazwie zaczynającej się od “latest”.
  • tinderbox-builds – podobnie, ale pakiety generowane są mniej-więcej co godzinę, część posortowana wg maszyn, które je zbudowały (“pacifica”, “prometheus” itp.)

Wśród nightlies znajdziemy także zachowane osobno pakiety będące “kandydatami” do wydania.

Tak więc, jeśli któryś plik znajduje się w katalogu innym niż “releases”nie jest tym, za co ktoś mógłby go błędnie uważać, nawet jeśli ma w nazwie “3.0” (czy “3.0b3” albo “b4”) bez żadnego dopisku i po instalacji przedstawia się jako “oficjalna” wersja. Może się tak przedstawiać – bo jest kandydatem do wydania jako oficjalna wersja, ale czy stanie się oficjalną paczką – nie wiadomo, dopóki nie zostanie dogłębnie przetestowany.

Od tego właśnie są nightlies i tinderbox-builds. Chodzi o to, żeby zawsze można było zainstalować do testów aktualny stan programu. Procedura budowania non-stop pakietów nie jest niczym niezwykłym, każda firma czy organizacja zajmująca się tworzeniem oprogramowania tak robi. Różnica w przypadku Mozilli polega na tym, że jako projekt open source tworzony przez tysiące wolontariuszy z całego świata pakietów takich nie ukrywa za firewallem, tylko udostępnia publicznie wszystkim zainteresowanym.

Budowanie conocnych i cogodzinnych pakietów ma same zalety i tylko jedną drobną wadę – czasem może na nie trafić ktoś, kto nie wie, do czego one służą. Mam nadzieję, że ta notka pomogła trochę w zrozumieniu tych wszystkich zawiłości…

Jeśli jesteś (lub chcesz zostać) testerem Firefoksa – śmiało, pobieraj i instaluj nightlies (albo nawet tinderbox-builds). Wykonuj testy według procedur Litmusa,  albo po prostu poużywaj te paczki przez jakiś czas i zgłoś wszystkie odnalezione błędy w Bugzilli. Zajrzyj też na QMO. Im więcej testerów – tym lepiej dla projektu, a co za tym idzie – dla wszystkich użytkowników.

Jeśli jednak chcesz po prostu zainstalować sobie Firefoksa (albo Thunderbirda czy SeaMonkey) i używać go do “normalnych” (czyli nie testowych) celów – nie pobieraj nic spoza katalogu “releases”. Najlepiej po prostu zaczekaj, aż program pojawi się w oficjalnej witrynie. Żaden odnośnik do rzekomo kompletnej wersji podany w artykule nawet najbardziej renomowanego serwisu informacyjnego przed oficjalnym wydaniem nie prowadzi do ostatecznej wersji! Może prowadzić tylko do czegoś, co ma szanse taką wersją się stać — albo i nie. A o oficjalnym wydaniu dowiesz się najszybciej właśnie z oficjalnej witryny.

PS. Kurczę, dawno się tu tak nie rozpisałem. :)

4 responses to “Nightlies i ftp.mozilla.org dla opornych

  1. jahckal

    No dawno! A szkoda. Bardzo dobry wpis, który można będzie linkować we wszystkich przyszłych “najnowszych wiadomościach” o wydaniu nowej wersji na np. idg itp.

  2. Faktycznie dawno nie widziałem tylu literek spod klawiszy marcoosa i nie ukrywam zaskoczenia. Ogólnie zauważyłem pewien zanik aktywności w najstarszych kanałach RSS ;) Tak czy owak (kwak wszak już niemodne) – kawał dobrego tekstu – mam nadzieję, że nie zginie w gąszczu sieci.

  3. Brawo za świetny tekst!

  4. Ajnsztajn

    Tak – tekst dobry :) Swoją drogą – po co oni trzymają tyle nieużywanych staroci na FTP ;>?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

MDN

Better JavaScript docs for a better Web on MDN

Archiwum

%d bloggers like this: