From 2e8ad8dc961b0db542f5f62c3182b7df3078cf59 Mon Sep 17 00:00:00 2001
From: xf0r3m
W zamierzchÅych czasach gdy komputery znajdowaÅy siÄ w zasiÄgu
uczelni wyższych, nawet oprogramowanie wÅasnoÅciowe byÅo
- rozprowadzane w ten sposób. Dawniej chcaÄ skorzystaÄ z programu
+ rozprowadzane przy użyciu kodu źródÅowego. Dawniej chcaÄ skorzystaÄ z
+ programu
trzeba byÅo wyposażyÄ siÄ w zestaw narzÄdzi programistycznych aby
- móc w ogóÅe go uruchomiÄ. Czy te czasy minÄÅy? I tak i nie. Obecnie
+ móc w ogóle go uruchomiÄ. Czy te czasy minÄÅy? I tak i nie. Obecnie
w wielu dystrybucjach czÄÅciej stosuje siÄ paczki przygotowywane
osoby zwiÄ
zane z dystrybucjÄ
aniżeli archiwa kodu niezależnie
rozprowadzane przez autora programu. Ma to oczywiÅcie swoje wady oraz
@@ -12333,11 +12334,11 @@ $ javac file.java
- Jak pamietam z poprzedniego rozdziaÅu do automatycznego stworzenia
+ Jak pamietamy z poprzedniego rozdziaÅu do automatycznego stworzenia
pliku wykonywalnego dla naszej przykÅadowej aplikacji
wykorzystaliÅmy narzÄdzie make, narzÄdzie to wymaga pliku
Makefile, w którym to zapisywane byÅy cele, zależnoÅci czy
- różnego rodzaju makra. Jednym system budowania oprogramowania
+ różnego rodzaju makra. Jednym z systemów budowania oprogramowania
dostÄpnym na Uniksy jest GNU autoconf. Zadaniem
skryptów tego narzÄdzia jest przygotowanie plików Makefile
na podstawie analizy docelowego systemu. System ten korzysta z
@@ -12361,7 +12362,7 @@ $ javac file.java
zachowaÄ pewnÄ
dozÄ niepewnoÅci. Otóż zadajmy sobie proste pytanie.
Co odróżnia program przydatny od szkodliwego oprogramowania?
Odpowiedź jest prosta. CzynnoÅci jakie on wykonuje. Na pewnej
- pÅaszczyźnie jedno i drugie to programy, które nom men omen mogÄ
+ pÅaszczyźnie jedno i drugie to programy, które mogÄ
byÄ rozporowadzane w postaci kodu źrodÅowego, który zostanie byÄ może
zostanie przez nas pobrany, skompilowany i zainstalowany w systemie.
NajczÄstszym tego typu oprogramowaniem sÄ
konie trojaÅskie. Dlatego
@@ -12380,7 +12381,7 @@ $ javac file.java
- JeÅli kiedy uczyliÅmy siÄ jezyka C, to wiemy że jest on przenoÅny
+ JeÅli kiedyÅ uczyliÅmy siÄ jezyka C, to wiemy że jest on przenoÅny
miÄdzy systemami, jednak miÄdzy systemami operacyjnymi czy
platformami sprzÄtowymi instnieje tak wiele różnic, że najczÄÅciej
użycie pojedynczego pliku Makefile nie wykonana poprawnie
@@ -12395,7 +12396,7 @@ $ javac file.java
szablonami.
- Natomiast sama koncepcja jest doÅÄ prosta. Polega ona na uruchomienie
+ Natomiast sama koncepcja jest doÅÄ prosta. Polega ona na uruchomieniu
pliku configure, który sprawdzi system i dokona odpowiednich
podstawieÅ w pliku Makefile.in, tworzÄ
c odpowiedni plik
Makefile dla uruchomionego systemu oraz platformy
@@ -12407,7 +12408,7 @@ $ ./configure
W czasie dziaÅania skryptu zostanie nam wyÅwietlona duża iloÅÄ
komunikatów diagonstycznych. JeÅli dziaÅanie skryptu zakoÅczy siÄ
- powodzeniem, to wówczas zostanie wygenerowany co najmniej jedem
+ powodzeniem, to wówczas zostanie wygenerowany co najmniej jeden
pliki Makefile, config.h oraz config.cache.
DziÄki czemu nie ma potrzeby przeprowadzania wszystkich testów
ponownie w przypadku kolejnego uruchomienia skryptu.
@@ -12584,8 +12585,8 @@ make[2]: Leaving directory '/home/xf0r3m/Pobrane/coreutils-9.5/gnulib-tests'
make[1]: Leaving directory '/home/xf0r3m/Pobrane/coreutils-9.5'
- Po podaniu za pomocÄ
opcji --prefix,
- narzÄdzie make zainstalowaÅo
+ Po podaniu za pomocÄ
opcji --prefix miejsca docelowego
+ dla programów, narzÄdzie make zainstalowaÅo
zbudowane pliki wykonywalne we wskazanym w opcji katalogu. A tak
prezentuje siÄ zawartoÅÄ tego katalogu:
15.1. Systemy do budowania oprogramowania
15.3. GNU autoconf
- Zmienne Årodowiskowe możemy podawaÄ przed w tym samy wierszu + Zmienne Årodowiskowe możemy podawaÄ w tym samy wierszu polecenia przed uruchomieniem skryptu:
@@ -12741,7 +12742,7 @@ geoclue-2.0 Geoclue - The Geoinformation Service
DziaÅanie programu pkg-config opiera sie o pliki
.pc, które mogÄ
byÄ rozprowadzane w pakietach naszej
dystrybucji w momencie instalacji bibilioteki, oczywiÅcie zarzÄ
dca
- pakietu musi utworzyÄ taki pliki. Polecenie przeszukuje katalog
+ pakietu musi utworzyÄ taki plik. Polecenie przeszukuje katalog
lib/pkg-config swojego przedrostka instalacji (prefiksu),
jeÅli np. jego prefiksem jest /usr, to bÄdzie on
przeszukiwaÄ katalog /usr/lib/pkg-config.
@@ -12750,29 +12751,29 @@ geoclue-2.0 Geoclue - The Geoinformation Service
JeÅli chcemy dodaÄ do zasobów pkg-config bibliotekÄ o
niestandardowym miejscu instalacji, to możemy wykorzystaÄ do tego
dwie metody. Pierwsza z nich jest zwykÅÄ
kopiÄ
pliku .pc
- do domyÅlnego katalogu narzÄdzia lub utworzenia dowiÄ
zania
+ do domyÅlnego katalogu narzÄdzia lub utworzenie dowiÄ
zania
symbolicznego. DrugÄ
opcjÄ
jest uzupeÅnienie zmiennej
PKG_CONFIG_PATH, o dodatkowy katalog. Jednak to rozwiÄ
zanie
niesprawdza siÄ w obrÄbie caÅego systemu.
15.4. Zalety i wady rÄcznej instalacji
- Na poziomie podstawowym osbsÅugi systemów Linuksowych, nikt nie
+ Na poziomie podstawowym obsÅugi systemów Linuksowych, nikt nie
pownien od was wymagaÄ umiejÄtnoÅci rÄcznej instalacji oprogramowania
w systemie. Raczej bÄdziemy polegaÄ na tym co oferujÄ
nam repozytoria
dystrybucji. Obecnie dostawcy różnych programów czÄsto przygotowujÄ
pakiety systemu zarzÄ
dzania oprogramowaniem dla wielu wiodÄ
cych
dystrybucji, dlatego też rÄczna instalacja spada do rangi pewnego
rodzaju niszy. Budowanie może zajÄ
Ä naprawdÄ wiele czasu i nie
- zawsze mozemy osiÄ
gnÄ
Ä zÄ
dany skutek. Chcemy skompilowaÄ jakiÅ
+ zawsze mozemy osiÄ
gnÄ
Ä Å¼Ä
dany skutek. Chcemy skompilowaÄ jakiÅ
program, okazuje siÄ Å¼e brakuje nam bibliotek w takiej wersji, wiÄc
musimy przeprowadziÄ kompilacjÄ bibliotek w takiej wersji w ten
- sposób nasza praca zwiÄ
zana tym zagadnieniem siÄ nawarstawia.
+ sposób nasza praca zwiÄ
zana tym zagadnieniem siÄ nawarstwia.
Weźmy pod uwagÄ też sprzÄt. Nie każdy dysponuje potÄżnÄ
maszynÄ
,
która bÄdzie wstanie kompilowaÄ duże programy w ciÄ
gu kilku minut.
WiÄkszoÅÄ użytkowników dystrybucji Linuksa, do których adresowany
jest ten materiaÅ, raczej korzysta z budżetowego laptopa z marketu.
- UciekÅa do MS Windows, w celu polepszenia swoich doÅwiadczeÅ z
+ Ucieczka do MS Windows, w celu polepszenia swoich doÅwiadczeÅ z
komputerem, bez reklam czy najważniejszej rzeczy w tym systemie czyli
aktualizacji. Tak wiÄc kompilacja na takim sprzÄcie może zajÄ
Ä
dÅuższÄ
chwilÄ, co sprawia, że budowanie od podstaw oprogramowania
@@ -12781,7 +12782,7 @@ geoclue-2.0 Geoclue - The Geoinformation Service
Nie mniej jednak taka instalacja oprogramowania w systemie nie jest
bez zalet. Najważniejszymi z nich jest dostarczenie do naszych
- systemów najnowszych wersji programów, dostosowania ich możliwoÅci
+ systemów najnowszych wersji programów, dostosowanie ich możliwoÅci
oraz funkcjonalnoÅci przy użyciu opcjonalnych bibliotek czy samych
opcji kompilacji do naszych potrzeb. Nawet lepiej, istniejÄ
caÅe
dystrybucje, które opierajÄ
siÄ tylko i wyÅÄ
cznie o rÄcznÄ
instalacjÄ
@@ -12796,12 +12797,12 @@ geoclue-2.0 Geoclue - The Geoinformation Service
15.5. Stosowanie poprawek
- Poprawki sÄ
nieodÅÄ
cznym elementem życia oprogramowania. Poprawki
- sÄ
dystrybuÅowane za pomocÄ
takich narzÄdzi jak system kontroli
+ Poprawki sÄ
nieodÅÄ
cznym elementem życia oprogramowania. SÄ
one
+ dystrybuowane za pomocÄ
takich narzÄdzi jak system kontroli
wersji Git. MogÄ
one wprowadzaÄ szereg zmian do kodu
źródÅowego, poprawiaÄ bÅedy lub uzupeÅaniaÄ oprogramowanie o nowa
funkcjonalnoÅÄ. Poprawki tworzone sÄ
zapomocÄ
polecenia
- diff. Poniżej znajduje siÄ nagÅówek pliku poprawki
+ diff. Poniżej znajduje siÄ nagÅówek pliku poprawki
wprowadzajÄ
cy zamiany, które obecnie czytasz do tego materiaÅu.
@@ -12823,8 +12824,9 @@ index 464a32d..09c06a7 100644
Pliki poprawek sÄ
tworzone za pomocÄ
polecenia diff,
natomiast instalowane sÄ
za pomocÄ
polecenia patch.
- Przyczym podczas instalacji poprawek istotne jest dobre umieszczenie
- poprawki w katalogu z kodem źródÅowym. ZaÅóżmy, że mamy plik
+ Przyczym podczas instalacji poprawek istotne jest dobre ustawie
+ katalogu roboczego w folderze z kodem źródÅowym. ZaÅóżmy, że mamy
+ plik
poprawki, który obejmuje plik src/plik.c. Wówczas taki
plik poprawki należy naÅożyÄ w katalogu nadrzÄdnym katalogu
src, wydajÄ
c poniższe polecenie:
--
2.39.5