From owner-p4-projects@FreeBSD.ORG Tue Dec 9 23:43:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA98E1065673; Tue, 9 Dec 2008 23:43:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E007106564A for ; Tue, 9 Dec 2008 23:43:14 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 894538FC08 for ; Tue, 9 Dec 2008 23:43:14 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id mB9NhEpO093975 for ; Tue, 9 Dec 2008 23:43:14 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id mB9NhEUn093973 for perforce@freebsd.org; Tue, 9 Dec 2008 23:43:14 GMT (envelope-from pgj@FreeBSD.org) Date: Tue, 9 Dec 2008 23:43:14 GMT Message-Id: <200812092343.mB9NhEUn093973@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Cc: Subject: PERFORCE change 154426 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Dec 2008 23:43:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=154426 Change 154426 by pgj@kolbasz on 2008/12/09 23:43:08 Add Hungarian translation of chapter "The Documentation Build Process" from FDP Primer Affected files ... .. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/fdp-primer/doc-build/chapter.sgml#2 edit Differences ... ==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/fdp-primer/doc-build/chapter.sgml#2 (text+ko) ==== @@ -31,113 +31,151 @@ --> - The Documentation Build Process + A dokumentáció + elõállításának folyamata - This chapter's main purpose is to clearly explain how - the documentation build process is organized, and - how to affect modifications to this process. - + Ebben a fejezetben szeretnénk pontosan tisztázni + hogyan szervezõdik a dokumentáció + elõállításának folyamata + és hogyan tudunk ebbe + beavatkozni. - After you have finished reading this chapter you should: + A fejezet elolvasása során + megismerjük: - Know what you need to build the FDP documentation, in - addition to those mentioned in the SGML tools chapter. + az SGML eszközeirõl + szóló fejezetben említetteken + túl a &os; Dokumentációs Projekt keretein + belül készített dokumentáció + különbözõ változatainak + elõállításához mire van + még szükségünk; - Be able to read and understand the - make instructions that are present in - each document's Makefiles, as well as an - overview of the doc.project.mk includes. + a dokumentumokhoz tartozó + Makefile állományokban + szereplõ make + utasításokat, valamint a hivatkozott + doc.project.mk vázlatos + felépítését; - + - Be able to customize the build process by using - make variables and - make targets. + további make + változókon és célokon keresztül + miként tudjuk testreszabni a dokumentáció + különbözõ változatainak + elõállítási folyamatát. - The FreeBSD Documentation Build Toolset + A &os; dokumentáció + elõállításának + eszközei - Here are your tools. Use them every way you can. + Munkánk folyamán az itt felsorolt + eszközök állnak rendelkezésünkre. + Használjuk ki az általuk nyújtott + lehetõségeket, amennyire csak tudjuk. - The primary build tool you will need is - make, but specifically + Az elsõdleges eszköz maga a + make parancs, pontosabban a Berkeley Make. - Package building is handled by FreeBSD's - pkg_create. If you are not using - FreeBSD, you will either have to live without packages, or - compile the source yourself. + Csomagokat a &os; alaprendszerében + megtalálható pkg_create + programmal tudunk készíteni. Ha nem &os; alatt + dolgozunk, akkor vagy csomagok nélkül kell + dolgoznunk, vagy magunknak kell ezeket + elkészítenünk. - gzip is needed to create - compressed versions of the document. - bzip2 compression and - zip archives are also supported. - tar is supported, but package - building demands it. + A gzip + segítségével lehet az + elõállított dokumentumok + tömörített változatát + elkészíteni. Emellett még a + bzip2 és zip + típusú tömörítés is + támogatott. A tar programot is + támogatjuk, a csomagok + készítéséhez kell. - install is the default method - to install the documentation. There are alternatives, - however. + A dokumentáció + telepítésének elfogadott eszköze az + install program. Természetesen + léteznek egyéb megoldások is. - It is unlikely you will have any trouble finding these last two, they - are mentioned for completeness only. + Nem valószínû, hogy ez az utolsó + két eszközt ne lenne elérhetõ a + rendszerünkön, csupán a teljesség + kedvéért említettük meg ezeket. - Understanding Makefiles in the Documentation tree + A dokumentációt tároló + könyvtárban található + <filename>Makefile</filename> állományok - There are three main types of Makefiles - in the FreeBSD Documentation Project tree. + A &os; Dokumentációs Projekt által + használt könyvtárakban megtalálható + Makefile állományoknak + három típusa létezik: - Subdirectory - Makefiles simply pass - commands to those directories below them. + Az alkönyvtári + Makefile állományok + egyszerûen csak továbbadják a parancsokat + az alkönyvtáraiknak. - Documentation - Makefiles describe the - document(s) that should be produced from this directory. + A dokumentumokra vonatkozó + Makefile állományok + írják le, hogy milyen dokumentumokat kellene az + adott könyvtárban + elõállítani. - Make - includes are the glue that perform the document production, - and are usually of the form - doc.xxx.mk. + Az .mk + állományok segítik valamilyen + formában a dokumentumok + elõállítását. Többnyire + doc.xxx.mk + névvel láthatóak. - Subdirectory Makefiles + Az alkönyvtári <filename>Makefile</filename> + állományok - These Makefiles usually take the form of: + Ezek a típusú Makefile + állományok általában a + következõ alakúak: SUBDIR =articles SUBDIR+=books @@ -147,58 +185,89 @@ DOC_PREFIX?= ${.CURDIR}/.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" - In quick summary, the first four non-empty lines define the - make variables, - SUBDIR, COMPAT_SYMLINK, - and DOC_PREFIX. + Röviden összefoglalva: az elsõ négy + nem üres sorban ún. make + változókat definiálunk. Ezek rendre a + SUBDIR, COMPAT_SYMLINK + és DOC_PREFIX. - The first SUBDIR statement, as well as - the COMPAT_SYMLINK statement, shows how to - assign a value to a variable, overriding any previous - value. + Az elsõ SUBDIR sornál, + illetve a COMPAT_SYMLINK sorában + láthatjuk hogyan kell egy új értéket + beállítani egy ilyen + változónak. - The second SUBDIR statement shows how a - value is appended to the current value of a variable. The - SUBDIR variable is now articles - books. + A második SUBDIR sorban azt + láthatjuk, hogyan tudunk a változó + aktuális értékéhez + továbbiakat hozzáfûzni. Ebben az esetben + tehát az utasítás + végrehajtása után a + SUBDIR értéke articles + books lesz. - The DOC_PREFIX assignment shows how a - value is assigned to the variable, but only if it is not already - defined. This is useful if DOC_PREFIX is not - where this Makefile thinks it is - the user - can override this and provide the correct value. + A DOC_PREFIX esetében pedig olyan + értékadást figyelhetünk meg, amelyik + csak akkor hajtódik végre ténylegesen, ha a + változónak addig még nem volt + értéke. Ez olyankor tud kapóra jönni, + amikor a DOC_PREFIX nem pontosan az, amire a + Makefile számít — a + felhasználó ekkor meg tudja adni a helyes + értéket. - Now what does it all mean? SUBDIR - mentions which subdirectories below this one the build process - should pass any work on to. + Ez így együttesen tehát mit is jelent? A + SUBDIR összefoglalja azokat a + könyvtárakat, amelyekben a dokumentumok + elõállításának + folyamatának folytatódnia kell majd. - COMPAT_SYMLINK is specific to - compatibility symlinks (amazingly enough) for languages to their - official encoding (doc/en would point to - en_US.ISO-8859-1). + A COMPAT_SYMLINK a kompatibilitás + céljából létrehozott szimbolikus + linkekre vonatkozik, amelyek (valamilyen csoda folytán) + az adott nyelv hivatalos kódolására + mutatnak (tehát például a + doc/en a + en_US.ISO8859-1 + könyvtárra). - DOC_PREFIX is the path to the root of the - FreeBSD Document Project tree. This is not always that easy to - find, and is also easily overridden, to allow for flexibility. - .CURDIR is a make - builtin variable with the path to the current directory. + A DOC_PREFIX a &os; + Dokumentációs Projekt + fõkönyvtárához vezetõ utat adja + meg. Ezt nem mindig egyszerû megtalálni, + ezért a rugalmasság kedvéért + könnyedén felül is definiálható. + A .CURDIR a make egyik + saját belsõ változója, amelyben az + aktuális könyvtár elérési + útját tárolja. - The final line includes the FreeBSD Documentation Project's - project-wide make system file - doc.project.mk which is the glue which - converts these variables into build instructions. + Végül az utolsó sorban a &os; + Dokumentációs Projekt összes + Makefile állományára + vonatkozó, rendszerszintû + doc.project.mk állományra + hivatkozunk, amelyen keresztül az iménti + változókból épül fel a + dokumentumok elõállításának + pontos menete. + - - Documentation Makefiles + A dokumentumokra vonatkozó + <filename>Makefile</filename> állományok - These Makefiles set a bunch of - make variables that describe how to - build the documentation contained in that directory. + Ezekben a Makefile + állományokban az adott könyvtárban + található dokumentumok + elõállítását + leíró különbözõ + make változók + szerepelnek. - Here is an example: + Lássunk erre egy példát: - MAINTAINER=nik@FreeBSD.org + MAINTAINER=pgj@FreeBSD.org DOC?= book @@ -207,78 +276,106 @@ INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= -# SGML content +# Az SGML forrás SRCS= book.sgml DOC_PREFIX?= ${.CURDIR}/../../.. .include "$(DOC_PREFIX)/share/mk/docproj.docbook.mk" - The MAINTAINER variable is a very - important one. This variable provides the ability to claim - ownership over a document in the FreeBSD Documentation - Project, whereby you gain the responsibility for maintaining - it. + A MAINTAINER változó nagyon + fontos. A &os; Dokumentációs Projekten belül + ezen a változón keresztül jelezhetjük a + dokumentum birtoklását, vagyis + karbantartási kötelezettségünket. - DOC is the name (sans the - .sgml extension) of the main document - created by this directory. SRCS lists all - the individual files that make up the document. This should - also include important files in which a change should result - in a rebuild. + A DOC hivatkozik (az + .sgml kiterjesztés + nélkül) az adott könyvtárban + található dokumentum fõ + forrására. Emellett az SRCS + változóban kell összefoglalnunk a + dokumentumot alkotó források neveit. Ebben + érdemes megadni minden olyan állományt, + amelynek megváltozása esetén újra + elõ kell állítani az érintett + dokumentumot. - FORMATS indicates the default formats - that should be built for this document. - INSTALL_COMPRESSED is the default list of - compression techniques that should be used in the document - build. INSTALL_ONLY_COMPRESS, empty by - default, should be non-empty if only compressed documents are - desired in the build. + A FORMATS + segítségével definiáljuk a dokumentum + alapértelmezetten elõállítandó + formátumait. A INSTALL_COMPRESSED + változóban a dokumentum + elkészítésekor felhasználandó + tömörítési formákat adhatjuk meg. + A INSTALL_ONLY_COMPRESSED + változó alapból üres, de ha adunk neki + valamilyen egyéb értéket, akkor a + dokumentumoknak csak a tömörített + változata fog elkészülni. - We covered optional variable assignments in the - previous section. + A változók feltételes + értékadásáról már + volt szó az elõzõ + szakaszban. - The DOC_PREFIX and include statements - should be familiar already. + A DOC_PREFIX változó + és az .include utasítás a + korábbiak alapján már ismerõs + lehet. - FreeBSD Documentation Project make includes + A &os; Dokumentációs Projekt + <filename>.mk</filename> állományai - This is best explained by inspection of the code. Here are - the system include files: + Ezek az állományok legjobban talán + önmagukon keresztül mutathatóak be. A + következõ rendszerszintû .mk + állományokat használjuk a &os; + Dokumentációs Projektben: - doc.project.mk is the main project - include file, which includes all the following include files, as - necessary. + A doc.project.mk a központi + .mk állomány, amely + szükség szerint hivatkozik az összes + többi .mk + állományra. - doc.subdir.mk handles traversing of - the document tree during the build and install processes. + Az elõállítás és a + telepítés során a + doc.subdir.mk felelõs a dokumentumokat + tároló könyvtárak + bejárásért. - doc.install.mk provides variables - that affect ownership and installation of documents. + A doc.install.mk tartalmazza a + karbantartóval és a telepítéssel + kapcsolatos változókat. - doc.docbook.mk is included if - DOCFORMAT is docbook - and DOC is set. + A doc.docbook.mk + állomány csak akkor kerül + feldolgozásra, ha a DOCFORMAT + értéke docbook és a + DOC változónak van + értéke. - doc.project.mk + A <filename>doc.project.mk</filename> + állomány - By inspection: + Nézzünk bele: DOCFORMAT?= docbook MAINTAINER?= doc@FreeBSD.org @@ -296,99 +393,146 @@ .include "doc.install.mk" + Változók - Variables + Ha nem állítjuk be a dokumentum + Makefile + állományában, akkor a + DOCFORMAT és a + MAINTAINER változók ezen a + helyen kapnak értéket. - DOCFORMAT and MAINTAINER - are assigned default values, if these are not set by the - document make file. + A PREFIX adja azt a + könyvtárat, amelyen belül + elérhetõek a + dokumentáció + elõállításához + szükséges eszközök. + A csomagok és portok átlagos használata + esetén ez a /usr/local. - PREFIX is the prefix under which the - documentation building tools are - installed. For normal package and port installation, this is - /usr/local. + A PRI_LANG adja meg azt a nyelvet + és kódolást, amely a + dokumentációt olvasó + felhasználó számára + elsõdlegesként leginkább elfogadott. + Alapértelmezés szerint ez az amerikai + angol. - PRI_LANG should be set to whatever - language and encoding is natural amongst users these documents are - being built for. US English is the default. - - PRI_LANG in no way affects what documents - can, or even will, be built. Its main use is creating links to - commonly referenced documents into the FreeBSD documentation - install root. + A PRI_LANG változó + semmilyen hatással nincs a dokumentumok + elõállítására. + Egyedül a &os; dokumentáció + telepítésekor a leggyakrabban hivatkozott + dokumentumokhoz létrehozandó szimbolikus + linkek készítésénel van + szerepe. - Conditionals - - The .if defined(DOC) line is an example of - a make conditional which, like in - other programs, defines behavior if some condition is true or - if it is false. defined is a function which - returns whether the variable given is defined or not. + Elágazások + + A .if defined(DOC) sorban a + Makefile állományokban + megadható elágazásokra láthatunk + példát. Hasonlóan más + programokhoz, a Makefile + mûködését tudjuk meghatározni + egy logikai kifejezés + igazságértéktõl függõen. + Ebben a kifejezésben a defined + függvény, amely megadja, hogy a + paramétereként megadott változó + definiált-e. - .if ${DOCFORMAT} == "docbook", next, - tests whether the DOCFORMAT variable is - "docbook", and in this case, includes - doc.docbook.mk. + A következõ elágazásban, vagyis az + .if ${DOCFORMAT} == "docbook" + utasításban azt vizsgáljuk meg, hogy a + DOCFORMAT változó + értéke "docbook" vagy sem. + Amennyiben a válasz erre igen (vagyis + igaz), beemeljük a + doc.docbook.mk tartalmát. - The two .endifs close the two above - conditionals, marking the end of their application. + Az elõbb említett két + elágazást rendre az .endif + kulcsszóval zárjuk le. - doc.subdir.mk + A <filename>doc.subdir.mk</filename> + állomány - This is too long to explain by inspection, you should be - able to work it out with the knowledge gained from the previous - chapters, and a little help given here. + Ez az állomány már + túlságosan nagy ahhoz, hogy a fejezeten belül + könnyen ki lehessen elemezni. Ezért az + elõzõ szakaszok alapján a részleteket a + kedves Olvasóra bízzuk, ehhez adunk még itt + némi segítséget. - Variables + Változók - SUBDIR is a list of subdirectories - that the build process should go further down - into. + A SUBDIR tartalmazza azokat az + alkönyvtárakat, amelyeket a feldolgozás + során be kell járnunk. - ROOT_SYMLINKS is the name of - directories that should be linked to the document - install root from their actual locations, if the current - language is the primary language (specified by - PRI_LANG). + A ROOT_SYMLINKS a + dokumentáció + fõkönyvtárából + szimbolikusan linkelendõ könyvtárak + neveit adja meg, amennyiben az adott nyelv (a + PRI_LANG változó szerint) + az elsõdleges. - COMPAT_SYMLINK is described in the - Subdirectory Makefile - section. + A COMPAT_SYMLINK + változót már korábban bemutattuk + az alkönyvtári + Makefile + állományok címû + szakaszban. - Targets and macros + Célok és makrók - Dependencies are described by - target: - dependency1 dependency2 ... - tuples, where to build target, you need to build - the given dependencies first. + A függõségi viszonyokat + cél: + függõség1 + függõség2 ... + formában írjuk fel, ahol így megmondjuk, + hogy a cél + létrehozásához elõször milyen + elemeknek kell létezniük. Ezeket nevezzük + függõségeknek. - After that descriptive tuple, instructions on how to build - the target may be given, if the conversion process between the - target and its dependencies are not previously defined, or if - this particular conversion is not the same as the default - conversion method. + A függõségi viszony megadása alatt + lehetõségünk van részletezni a + függõségekbõl a cél + elõállításához + szükséges utasításokat. Ezt akkor + kell megtenni, ha a cél és a + függõségek közti + átalakítást elõzõleg még + nem definiáltuk, vagy ha az adott esetben az + átalakítás eltér a + korábbiaktól. - A special dependency .USE defines - the equivalent of a macro. + A .USE nevû speciális + függõség egy makróval + egyenértékû eszköz + használatára ad lehetõséget. _SUBDIRUSE: .USE .for entry in ${SUBDIR} @@ -397,80 +541,114 @@ ${MAKE} ${.TARGET:S/realpackage/package/:S/realinstall/install/} DIRPRFX=${DIRPRFX}${entry}/ ) .endfor - In the above, _SUBDIRUSE is now a - macro which will execute the given commands when it is listed - as a dependency. + A fenti kódrészletben tehát a + _SUBDIRUSE most már egy + makró lesz, amely ha megjelenik a + függõségek között, akkor a + törzsében megadott parancsokat hajtja + végre. - What sets this macro apart from other targets? Basically, - it is executed after the instructions - given in the build procedure it is listed as a dependency to, - and it does not adjust .TARGET, which is the - variable which contains the name of the target currently - being built. + Mi különbözteti meg ezt a makrót a + többi céltól? Két lényeges + eltérés: elõször is, a benne megadott + utasítások a rá + függõségként hivatkozó + célhoz társított + átalakítást végzõ + utasítások után + fognak lefutni, másrészt nem befolyásolja + a jelenleg feldolgozás alatt álló + cél nevét tároló + .TARGET változó + értékét. clean: _SUBDIRUSE rm -f ${CLEANFILES} - In the above, clean will use the - _SUBDIRUSE macro after it has - executed the instruction - rm -f ${CLEANFILES}. In effect, this causes - clean to go further and further down - the directory tree, deleting built files as it goes - down, not on the way back up. + Ebben a kódrészletben a tehát + clean esetében csak az + rm -r ${CLEANFILES} parancs lefutása + után fog végrehajtódni a + _SUBDIRUSE makró tartalma. + Ennek hatására a clean + megy egyre lentebb és lentebb a + könyvtárszerkezetben, + miközben törli a + elõzõleg elõállított + állományokat. - Provided targets + Definiált célok - install and - package both go down the - directory tree calling the real versions of themselves - in the subdirectories - (realinstall and - realpackage - respectively). + Az install és a + package célok + egyaránt folyamatosan haladnak lefelé a + könyvtárszerkezetben és az + alkönyvtárakban hívják + saját maguk tényleges + változatát (ezek a + realinstall és + realpackage). - clean removes files created - by the build process (and goes down the directory tree - too). cleandir does the same, - and also removes the object directory, if any. + A clean + eltávolítja a folyamat során + keletkezett állományokat (és az + elõbbiekhez hasonlóan lefele halad a + könyvtárszerkezetben). A + cleandir ugyanezt + csinálja, de ha talál a + tárgykódokhoz tartozó + könyvtárat, akkor azt is törli. - More on conditionals + Bõvebben a feltételes + kifejezésekrőlzekrõl - exists is another condition - function which returns true if the given file exists. + Az exists egy másik logikai + függvény, amellyel lekérdezhetjük, + hogy a paramétereként megadott + állomány létezik-e. - empty returns true if the given - variable is empty. + Az empty logikai + függvény igaz értékû, ha a + paramétereként megadott + változó értéke + üres. - target returns true if the given - target does not already exist. + A target logikai + függvény igaz értékû, ha a + paraméterként megadott cél még + nem létezik. - Looping constructs in make (.for) + Ciklusszerverzési lehetõségek + (<literal>.for</literal>) - .for provides a way to repeat a set of - instructions for each space-separated element in a variable. - It does this by assigning a variable to contain the current - element in the list being examined. + A .for utasítás + segítségével adott + utasításokat tudunk elvégezni egy + változó tartalmaként megadott, + szóközökkel határolt elemekre. A + ciklus belsejében egy változóból + érhetjük el az aktuálisan feldolgozott + elemet. _SUBDIRUSE: .USE .for entry in ${SUBDIR} @@ -479,12 +657,15 @@ ${MAKE} ${.TARGET:S/realpackage/package/:S/realinstall/install/} DIRPRFX=${DIRPRFX}${entry}/ ) .endfor - In the above, if SUBDIR is empty, no - action is taken; if it has one or more elements, the - instructions between .for and - .endfor would repeat for every element, - with entry being replaced with the value of - the current element. + A fenti kódrészletben ha a + SUBDIR üres, akkor nem + történik semmi. Ha viszont egy vagy több + elemet is tartalmaz, akkor a .for és + az .endfor között megadott + utasítások megismétlõdnek minden + egyes elem esetén. Ezek értékét a + ciklus belsejében rendre a entry + változóban veszi fel.