User Tools

Site Tools


pl:developingpld

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pl:developingpld [2010-04-06 11:41]
pawelz
pl:developingpld [2013-10-29 18:24]
draenog [Infrastruktura PLD]
Line 12: Line 12:
  
   * Podstawowe operacje ''​rpm'' ​   * Podstawowe operacje ''​rpm'' ​
-  * Korzystanie z systemów kontroli wersji takich jak ''​cvs''​ czy ''​svn'' ​+  * Korzystanie z systemów kontroli wersji takich jak ''​git''​ czy ''​svn'' ​
   * Obsługa różnic między plikami w oparciu o ''​diff''​ i ''​patch'' ​   * Obsługa różnic między plikami w oparciu o ''​diff''​ i ''​patch'' ​
   * Kompilowanie oprogramowania ze źródeł ​   * Kompilowanie oprogramowania ze źródeł ​
Line 32: Line 32:
 Plik [[http://​www.rpm.org/​max-rpm/​ch-rpm-inside.html|spec]] zawiera metadane i instrukcje budowania wymagane do stworzenia przynajmniej jednego pakietu RPM. Jest to plik tekstowy przeznaczony do pracy skryptu ''​builder'',​ który z kolei obsługuje cały proces, od skompletowania wszystkich niezbędnych źródeł z infrastruktury PLD (lub bezpośrednio z Internetu), do pakowania wyników w instalowalny plik RPM (druga część jest wykonywana przez narzędzie ''​rpmbuild''​). ​ Plik [[http://​www.rpm.org/​max-rpm/​ch-rpm-inside.html|spec]] zawiera metadane i instrukcje budowania wymagane do stworzenia przynajmniej jednego pakietu RPM. Jest to plik tekstowy przeznaczony do pracy skryptu ''​builder'',​ który z kolei obsługuje cały proces, od skompletowania wszystkich niezbędnych źródeł z infrastruktury PLD (lub bezpośrednio z Internetu), do pakowania wyników w instalowalny plik RPM (druga część jest wykonywana przez narzędzie ''​rpmbuild''​). ​
  
-Wszystkie pliki ''​spec''​ rezydują wewnątrz ​modułu ​//​packages//​ naszego [[:​pl:​Repositories| serwera ​CVS]]. Moduł ten zawiera także inne specjalne pliki, najbardziej istotny jest skrypt ''​builder''​+Pliki ''​spec''​ rezydują ​w podkatalogach poszczególnych pakietów ​wewnątrz ​katalogu ​//​packages//​ naszego [[:​pl:​Repositories| serwera ​git]]. 
  
  
  
 ==== Distfiles - źródła w postaci binarnej ==== ==== Distfiles - źródła w postaci binarnej ====
-Distfiles to serwer FTP/HTTP, służący do przechowywania plików binarnych, np. spakowanych źródeł programów. Dokonując zmiany w SPECU, automat pobiera plik, wskazany w polu SourceX pliku spec, następnie umieszcza go na serwerze. Dzięki temu budowane pakiety będą pobierane zawsze z tego serwera. Archiwa ze źródłami,​ których nie obsłuży ten automat - np. źródła pobrane z systemu kontroli wersji, muszą być umieszczane osobiście przez dewelopera przy każdej ich zmianie. Więcej o [[http://​cvs.pld-linux.org/​cgi-bin/​cvsweb/​PLD-doc/​Distfiles-Quick-HowTo|distfiles]]. ​+Distfiles to serwer FTP/HTTP, służący do przechowywania plików binarnych, np. spakowanych źródeł programów. Dokonując zmiany w SPECU, automat pobiera plik, wskazany w polu SourceX pliku spec, następnie umieszcza go na serwerze. Dzięki temu budowane pakiety będą pobierane zawsze z tego serwera. Archiwa ze źródłami,​ których nie obsłuży ten automat - np. źródła pobrane z systemu kontroli wersji, muszą być umieszczane osobiście przez dewelopera przy każdej ich zmianie. Więcej o [[http://​cvs.pld-linux.org/​cgi-bin/​viewvc.cgi/​cvs/​PLD-doc/​Distfiles-Quick-HowTo?​view=markup|distfiles]]. ​
  
  
  
-==== Źródła w CVS-ie ​==== +==== Źródła w git ==== 
-Łatki źródeł programów (trzymanych w distfiles), init-skrypty i źródła innych plików koniecznych do budowania pakietów, są przechowywane w CVS-ie ​w katalogu pakietu. Dawniej były trzymane w SOURCES+Łatki źródeł programów (trzymanych w distfiles), init-skrypty i źródła innych plików koniecznych do budowania pakietów, są przechowywane w git w katalogu pakietu. ​
  
  
Line 75: Line 75:
 [[:​DevelopingPLD:​AcRequestsRules| Zasady wysyłania żądań do budowania pakietów PLD 2.0 (Ac) ]].  [[:​DevelopingPLD:​AcRequestsRules| Zasady wysyłania żądań do budowania pakietów PLD 2.0 (Ac) ]]. 
  
-[[http://​ep09.pld-linux.org/​~builderth/​queue.html|Kolejka builderów PLD 3.0 (Th)]].  +[[http://​ep09.pld-linux.org/​~builderth/​queue.html|Kolejka builderów PLD 3.0 (Th)]].
- +
-[[http://​ep09.pld-linux.org/​~builderti/​queue.html|Kolejka builderów PLD Titanium ​]]. +
  
  
Line 87: Line 85:
 Powinieneś zacząć od zapisania się na przynajmniej jedną z naszych [[:​MailingLists| list mailingowych]]. Zwłaszcza na ''​pld-devel-en''​ (lub ''​pl''​ dla polskich deweloperów),​ a także na ''​pld-discuss''​ przeznaczoną na różne dyskusje związane z dystrybucją. ​ Powinieneś zacząć od zapisania się na przynajmniej jedną z naszych [[:​MailingLists| list mailingowych]]. Zwłaszcza na ''​pld-devel-en''​ (lub ''​pl''​ dla polskich deweloperów),​ a także na ''​pld-discuss''​ przeznaczoną na różne dyskusje związane z dystrybucją. ​
  
-Zauważ, że istnieje także specjalna lista ''​pld-cvs-commit'',​ która nie jest przeznaczona do dyskusji. Zbiera ona natomiast informacje o wszystkich zmianach wprowadzanych przez innych deweloperów na stronie www, czy w repozytorium ​CVS i SVN. +Zauważ, że istnieje także specjalna lista ''​pld-cvs-commit'',​ która nie jest przeznaczona do dyskusji. Zbiera ona natomiast informacje o wszystkich zmianach wprowadzanych przez innych deweloperów na stronie www, czy w repozytoriach git, CVS i SVN. 
  
  
Line 106: Line 104:
  
 ==== Publikowanie zmian ==== ==== Publikowanie zmian ====
-Jako początkujący deweloper nie będziesz miał dostępu odczytu/​zapisu do repozytorium ​CVS, więc będziesz musiał znaleźć kogoś kto sprawdzi twoje zmiany i doda je do repozytorium. Najlepszym wyjściem jest wysłanie maila na listę ''​pld-devel-en''​ (lub ''​pl''​) i dołączenie do niego //unified diff// twoich zmian zamiast oryginalnych plików (czy wręcz całych, jeżeli jakieś dodajesz) wraz z krótkim opisem tego co zrobiłeś. ​+Jako początkujący deweloper nie będziesz miał dostępu odczytu/​zapisu do repozytorium ​git, więc będziesz musiał znaleźć kogoś kto sprawdzi twoje zmiany i doda je do repozytorium. Najlepszym wyjściem jest wysłanie maila na listę ''​pld-devel-en''​ (lub ''​pl''​) i dołączenie do niego //unified diff// twoich zmian zamiast oryginalnych plików (czy wręcz całych, jeżeli jakieś dodajesz) wraz z krótkim opisem tego co zrobiłeś. ​
  
 Jak tylko jakiś deweloper będzie miał czas przyjrzeć się twoim zmianom, zostaniesz poinformowany o ewentualnych błędach wymagających poprawek i w końcu twoje pliki zostaną opublikowane. ​ Jak tylko jakiś deweloper będzie miał czas przyjrzeć się twoim zmianom, zostaniesz poinformowany o ewentualnych błędach wymagających poprawek i w końcu twoje pliki zostaną opublikowane. ​
Line 112: Line 110:
 Kiedy twoje zmiany okażą się szczególnie cenne, inni deweloperzy mogą zdecydować się przyznać ci pełne prawa dostępu do naszego repozytorium. Ten proces jest zawsze inicjowany przez kogoś kto ma już prawa odczytu/​zapisu. Wysyłanie próśb o ten dostęp nie będzie mile widziane. ​ Kiedy twoje zmiany okażą się szczególnie cenne, inni deweloperzy mogą zdecydować się przyznać ci pełne prawa dostępu do naszego repozytorium. Ten proces jest zawsze inicjowany przez kogoś kto ma już prawa odczytu/​zapisu. Wysyłanie próśb o ten dostęp nie będzie mile widziane. ​
  
-Mając już prawa odczytu/​zapisu,​ będziesz mógł regularnie aktualizować ​CVS. Pamiętaj o sprawdzeniu plików, które dodajesz przez wysłaniem ich do repozytorium. Upewnij się także, że udostępniasz zrozumiały zapis zmian (commitlog). Zapis ten powinien mieć taki format: ​+Mając już prawa odczytu/​zapisu,​ będziesz mógł regularnie aktualizować ​repozytoria na serwerze git. Pamiętaj o sprawdzeniu plików, które dodajesz przez wysłaniem ich do repozytorium. Upewnij się także, że udostępniasz zrozumiały zapis zmian (commitlog). Zapis ten powinien mieć taki format: ​
  
  
pl/developingpld.txt · Last modified: 2013-10-29 18:24 by draenog