Edycja w systemie Linux

Z UMP

(Różnice między wersjami)
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, znajdujemy się już w naszym katalogu roboczym, czyli UMP-src/tmp
+
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 to "znikania" zmian wprowadzonych przez innych mapperów.
+
'''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
-
W trakcie edycji można sobie wygenerować listy niestyków i innych błędów na mapie - polecam opis [[Makefile.common]]
+
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)