Edycja w systemie Linux
Z UMP
Linia 22: | Linia 22: | ||
ln -s ../Makefile.common Makefile | ln -s ../Makefile.common Makefile | ||
- | Kolejny krok to przygotowanie środowiska - plik Makefile.common wymaga dwóch zmiennych: | + | Kolejny krok to przygotowanie środowiska - plik Makefile.common wymaga zdefiniowania dwóch zmiennych: |
* '''DIR''' - wskazującej, które fragmenty UMPa nas interesują | * '''DIR''' - wskazującej, które fragmenty UMPa nas interesują | ||
* '''CVS''' - wskazującej, gdzie znajduje się katalog główny repozytorium | * '''CVS''' - wskazującej, gdzie znajduje się katalog główny repozytorium | ||
- | Możemy utworzyć sobie plik (u mnie ''env.sh'') który pomoże pamiętać o zainicjawaniu zmiennych środowiskowych. Jego zawartość (lub dla osób nie używających pliku - polecenia do wykonania): | + | Możemy utworzyć sobie plik (u mnie ''env.sh'') który pomoże pamiętać o zainicjawaniu zmiennych środowiskowych. Jego zawartość (lub dla osób nie używających pliku - polecenia do wykonania w bashu/sh): |
export DIR=UMP-Wroclaw | export DIR=UMP-Wroclaw | ||
export CVS=/home/user/UMP-src | export CVS=/home/user/UMP-src | ||
- | Użytkownicy tcsh muszą tu odwołać się do swojego interpretera poleceń: | + | Użytkownicy csh/tcsh muszą tu odwołać się do swojego interpretera poleceń: |
setenv DIR "UMP-Opole UMP-Katowice" | setenv DIR "UMP-Opole UMP-Katowice" | ||
setenv CVS /home/user/UMP-src | setenv CVS /home/user/UMP-src | ||
Linia 37: | Linia 37: | ||
== Przebieg sesji == | == Przebieg sesji == | ||
- | Zakładam, | + | Zakładam, że znajdujemy się już w naszym katalogu roboczym, czyli UMP-src/tmp |
- | Zaczynamy od przygotowania środowiska, a więc: | + | Zaczynamy od przygotowania środowiska, a więc wykonania w bieżącym shellu pliku env.sh: |
. env.sh | . env.sh | ||
- | Lub alternatywnie - wklepujemy odpowiednie polecenia export lub setenv. | + | Lub alternatywnie - wklepujemy odpowiednie polecenia export lub setenv (w csh/tcsh: "source env.csh"). |
Sprzątamy po ostatniej edycji | Sprzątamy po ostatniej edycji | ||
make clean | make clean | ||
Następnie należy uaktualnić źródła | Następnie należy uaktualnić źródła | ||
make update | make update | ||
- | '''Ważne:''' nie należy uaktualniać źródeł od momentu rozpoczęcia edycji do momentu odesłania poprawek na serwer! W bardzo prosty sposób prowadzi to | + | '''Ważne:''' nie należy uaktualniać źródeł od momentu rozpoczęcia edycji do momentu odesłania poprawek na serwer! W bardzo prosty sposób prowadzi to do "znikania" zmian wprowadzonych przez innych mapperów. |
Mając aktualne źródła montujemy je: | Mając aktualne źródła montujemy je: | ||
make mont | make mont | ||
- | I od tego momentu możemy rozpoczynać pracę. | + | I od tego momentu możemy rozpoczynać pracę - MapEditem lub edytorem tekstowym, zależnie od tego co chcemy robić. Nazwy parametrów programu make ("celów" Makefile) można łączyć - make wykona je kolejno. Wszystkie powyższe czynności można więc wykonać pisząc: |
+ | make clean update mont | ||
+ | a że jest to często wykonywana sekwencja, istnieje dla niej specjalny skrót: | ||
+ | make cum | ||
- | + | Przed uruchomieniem Mapedita można sobie wygenerować listy niestyków i innych błędów na mapie - polecam opis [[Makefile.common]] | |
- | Po zakończeniu edycji wykonujemy | + | Po zakończeniu edycji i nagraniu zmian w pliku wynik.mp wykonujemy |
make demont | make demont | ||
+ | lub lepiej: | ||
+ | make clean demont | ||
I w naszym katalogu roboczym pojawia się zestaw plików ze zmianami. | I w naszym katalogu roboczym pojawia się zestaw plików ze zmianami. | ||
- | Po sprawdzeniu, czy wszystko jest w porządku i mając prawo zapisu do repozytorium możemy zrobić | + | Po sprawdzeniu, czy wszystko jest w porządku (less *.diff) i mając prawo zapisu do repozytorium możemy zrobić |
make commit | make commit | ||
albo spakować pliki diff i wysłać poprzez system zgłaszania poprawek [[flyspray]] | albo spakować pliki diff i wysłać poprzez system zgłaszania poprawek [[flyspray]] |
Wersja z dnia 17:06, 11 maj 2009
Edycja UMP w systemie Linux
Narzędzia
Czego będziemy potrzebowali:
- Kompletnych źródeł UMP, a przynajmniej narzędzi, pliku Makefile.common oraz obszarów, które nas interesują
- MapEdit lub MapEdit++ - edytor map
- netgen - program przydatny do sprawdzania routingu
- cvs, perl, awk, make - podstawowe wyposażenie wielu dystrybucji Linuksa
- wine - by uruchomić program MapEdit
Przygotowania
Pierwszym krokiem jest ściągnięcie źródeł projektu do przygotowanego uprzednio katalogu. Tu dla przykładu jest to UMP-src
cd mkdir UMP-src cd UMP-src cvs -z5 -d:pserver:guest@ump.waw.pl/home/cvsroot checkout .
Następnie tworzymy katalog roboczy i tworzymy w nim link do pliku Makefile.common znajdującego się piętro wyżej:
mkdir tmp cd tmp ln -s ../Makefile.common Makefile
Kolejny krok to przygotowanie środowiska - plik Makefile.common wymaga zdefiniowania dwóch zmiennych:
- DIR - wskazującej, które fragmenty UMPa nas interesują
- CVS - wskazującej, gdzie znajduje się katalog główny repozytorium
Możemy utworzyć sobie plik (u mnie env.sh) który pomoże pamiętać o zainicjawaniu zmiennych środowiskowych. Jego zawartość (lub dla osób nie używających pliku - polecenia do wykonania w bashu/sh):
export DIR=UMP-Wroclaw export CVS=/home/user/UMP-src
Użytkownicy csh/tcsh muszą tu odwołać się do swojego interpretera poleceń:
setenv DIR "UMP-Opole UMP-Katowice" setenv CVS /home/user/UMP-src
Jeśli chcemy montować więcej niż jeden kawałek mapy - w cudzysłowie umieszczamy listę montowanych elementów.
W tej chwili jesteśmy gotowi do pracy :)
Przebieg sesji
Zakładam, że znajdujemy się już w naszym katalogu roboczym, czyli UMP-src/tmp
Zaczynamy od przygotowania środowiska, a więc wykonania w bieżącym shellu pliku env.sh:
. env.sh
Lub alternatywnie - wklepujemy odpowiednie polecenia export lub setenv (w csh/tcsh: "source env.csh"). Sprzątamy po ostatniej edycji
make clean
Następnie należy uaktualnić źródła
make update
Ważne: nie należy uaktualniać źródeł od momentu rozpoczęcia edycji do momentu odesłania poprawek na serwer! W bardzo prosty sposób prowadzi to do "znikania" zmian wprowadzonych przez innych mapperów.
Mając aktualne źródła montujemy je:
make mont
I od tego momentu możemy rozpoczynać pracę - MapEditem lub edytorem tekstowym, zależnie od tego co chcemy robić. Nazwy parametrów programu make ("celów" Makefile) można łączyć - make wykona je kolejno. Wszystkie powyższe czynności można więc wykonać pisząc:
make clean update mont
a że jest to często wykonywana sekwencja, istnieje dla niej specjalny skrót:
make cum
Przed uruchomieniem Mapedita można sobie wygenerować listy niestyków i innych błędów na mapie - polecam opis Makefile.common
Po zakończeniu edycji i nagraniu zmian w pliku wynik.mp wykonujemy
make demont
lub lepiej:
make clean demont
I w naszym katalogu roboczym pojawia się zestaw plików ze zmianami.
Po sprawdzeniu, czy wszystko jest w porządku (less *.diff) i mając prawo zapisu do repozytorium możemy zrobić
make commit
albo spakować pliki diff i wysłać poprzez system zgłaszania poprawek flyspray
tar -zcvf wrzutka.tgz *.diff
-- Wheart 12:12, 30 sie 2008 (UTC)